Galaxy シリーズを中心としたAndroidのカスタマイズの覚書です。
現在のメイン機種はGalaxy Note 9(グローバル版)。
10年目を迎え、古い投稿を整理・改訂しました。
カスタマイズのまとめ(リンク集)はこちらです。

2015/10/17

Galaxy Note 5のバッテリーの消費量と省電力設定例


Last Update : 24/Oct/2015

Galaxy Note 5は裏蓋が取り外せず、バッテリーも交換できないので、通知の多い平日はバッテリー使用量が心配だったのですが、細かく設定した結果、丸2日くらいはバッテリーが持つようになりました。

ご参考に当方の設定例をメモしておきます。


■設定(例)

1) WiFi/Bluetooth/GPSは通常はOff

2) 省電力モードを使用

3) alter kernelを使用

(参考)Galaxy Note 5のRoot化(SM-N920S : 韓国SKテレコム版)
http://galaxy-shw-m110s.blogspot.kr/2015/09/galaxy-note-5rootsm-n920s-sk.html

4) 不要なアプリを無効化 / 削除

(参考)Galaxy Note 5でroot化前の標準状態で削除や無効化したプリインストールアプリ
http://galaxy-shw-m110s.blogspot.kr/2015/10/galaxy-note-5root.html

(参考)Galaxy Note 5の不要なプリインストールアプリをスクリプトで一括無効化
http://galaxy-shw-m110s.blogspot.kr/2015/10/galaxy-note-5_22.html

5) Greenifyを使用

(参考)常にバックグラウンドで起動してバッテリーを消費しているアプリをGreenifyで休止
http://galaxy-shw-m110s.blogspot.kr/2013/11/greenify.html

6) バックグラウンドでの通信を制限

(参考)モバイルデータ使用時のバックグラウンドでの通信を制限しているアプリ(Galaxy Note 9編)
https://galaxy-shw-m110s.blogspot.com/2018/12/galaxy-note-9_21.html

■「ロック画面の通知」について

Android 5.0(Lollipop)ではロック画面に通知内容を表示することが出来ます。


[設定][ロック画面とセキュリティ][通知][ロック画面の通知]で以下の3種から選択します。

・コンテンツを表示
・コンテンツを非表示
・通知を表示しない

しかし、通知の件数が多い場合、この機能を使用すると、バッテリーの消費が異常に多くなります。

[設定][バッテリー][バッテリーの使用量]でアプリ毎のバッテリー使用量を確認してみると、通知の件数が多い場合(当方の場合、30-50件/日程の通知があります)、通知の表示件数が多いアプリの「非スリープ時間」が異常に長くなっています。

頻繁に通知があると、スリープ状態に入れなくなる様です。

通知の件数が多い場合は「ロック画面の通知」は使用しない(「通知を表示しない」に設定)方が良いでしょう。



2015/10/16

Outlookへの新規メール受信をIFTTT/Pushbulletを使ってAndroidにPush通知する


Last Update : 24/Oct/2015

Outlookへの新規メール受信時にAndroid端末にPush通知を送る方法の例です。

以前、Node.js経由でPushbulletに通知を送信する方法を書きましたが、今回は、IFTTT経由でPushbulletにトリガーを送る方法を考えてみました。

Outlookのマクロに簡易スパムフィルタとメールでの通知のリモートOn/Off機能を追加しています。

IFTTTにトリガーメールを送りますので、Gmail等にメールを転送するのとあまり変わらないのですが、Outlookのマクロのスタディも兼ねて作ってみましたので、興味のある方はご自分の用途や環境に合わせてアレンジしてみてください。

(参考)
Pushbullet APIでOutlookへの新規メール受信をAndroidにPush通知する
http://galaxy-shw-m110s.blogspot.kr/2014/12/pushbullet-apioutlookandroidpush_5.html
想定される環境
以下の様な環境下での使用を想定しています。

・職場のメールはOutlook(Exchangeサーバー)でProxy環境下。
・Outlookの仕訳ルールでの自動転送はサーバー側でブロックされている。
・Gmail等のメール、SNS、PushbulletへのアクセスはProxyで撥ねられる。
・モバイル端末からVPNやセキュアなクライアントアプリを利用したメール閲覧は許可されている。
・モバイル端末のクライアントアプリへのメールのPushサービスが提供されていない。

PCのバックグラウンドで動作しますので、PCは常に稼働したままで、Outlookも常に起動したままにしておく必要があります。
全体の動作の流れ
・Outlookのマクロで新規メール受信時に表題・送信者名・本文(一部)を取得
・スパム確認(送信者/表題)
・トリガーメール作成
・特定の送信者/表題のメールを受信した場合は通知のOn/OFFを切替え結果を通知
・IFTTTにトリガーメールを送る
・トリガーを受信したIFTTTからPushbulletにPush通知を送る
必要なもの
・ Outlook用マクロ(詳細下記)
・ リモート操作用ファイル 3種類
・ スパムフィルタ用ファイル 2種類
・ IFTTTアカウント(https://ifttt.com)
・ Pushbulletアプリ(Android側:https://play.google.com/store/apps/details?id=com.pushbullet.android)
Outlook用マクロ
新規メール受信時に自動起動し、受信メールから表題・送信者名・本文を取得して加工し、IFTTTにトリガー(メール)を送るマクロです。

受信したメールがExchangeメールの場合はサーバーにアクセスして送信者のEmailアドレスを取得する処理も行います。

外部のテキストファイルに記述した送信者のメールアドレスや表題の先頭部分(デフォルトは5文字)との照合を行う簡易スパムフィルタ機能や、特定の送信者からの特定の表題のリモートメールで通知のOn/OffしてPush通知先にOn/Off状態を通知する機能も追加しています。

[動作内容]

1) 受信メールから表題や送信者情報を取得
2) 送信者名と送信者のEmailアドレスの処理
 ・送信者名と送信者のEmailアドレスが同じ場合はEmailアドレスのみ表示
 ・送信者のメールアドレスがEmailの場合は送信者名とEmailアドレスの両方を表示
 ・送信者のメールアドレスがExchangeの場合はSMTPアドレスを取得
3) スパムフィルタ
 ・スパム確認(送信者のEmailアドレス)
 ・スパム確認(表題)
4) メッセージ作成
5) 通知のOn/Offのリモート操作
 ・特定の送信者/表題のメールを受信した時にマクロをOn/Offし通知先に通知
6) 通知のOn/Off状態の確認
7) 表題と本文を加工して送信
 ・本文から余計な空白と改行コードを削除
 ・本文の文字数を制限
 ・通知メールを送信

 
'Outlook受信メールプッシュ通知マクロ(IFTT版) Ver 1.30
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim objItem
    Set objItem = Session.GetItemFromID(EntryIDCollection)
    If objItem.MessageClass = "IPM.Note" Then
        AutoForward objItem
    End If
End Sub
Private Sub AutoForward(ByVal objMail As MailItem)
'
'[ユーザー設定項目]
'
'トリガー送信先アドレスを指定
Const ForwardToAddress = "trigger@recipe.ifttt.com"
'
'マクロ中断/再開用リモート操作メールの送信者アドレスを指定
Const MailStopAddress = "XXXXXXXX@gmail.com"
'
'設定ファイルのPATHを指定
Const FilePATH = "C:\環境に合わせて書き換えてください\IFTTT\"
'
'[変数]
'
Dim strFileName As String
Dim fwMail As MailItem
Dim i As Integer
Dim buf As String
Dim strSpamFile1 As String
Dim strSpamFile2 As String
Dim strSpamList1 As String
Dim strSpamList2 As String
Dim strSenderName As String
Dim strSenderEmailAddress As String
Dim strSubject As String
Dim strBody As String
Dim strShortBody As String
Dim strRepBody As String
Dim strShortSubject As String
Dim strStatusFile As String
Dim strStatus As String
Dim strStartPushFile As String
Dim strStopPushFile As String
'
strSpamFile1 = FilePATH & "spamlist.txt"
strSpamFile2 = FilePATH & "keyword.txt"
strStatusFile = FilePATH & "Push_is_On_Now.txt"
strStartPushFile = FilePATH & "Start_Pushing.bat"
strStopPushFile = FilePATH & "Stop_Pushing.bat"
'
'受信メールの自動仕分けルールや迷惑メールフィルタと併用した場合のエラー対策
On Error GoTo ErrorTrap
'
'[受信メールから表題や送信者情報を取得]
'
strSubject = objMail.Subject    '表題を取得
strSenderName = objMail.SenderName  '送信者名を取得
strSenderEmailAddress = objMail.SenderEmailAddress  'Emailアドレスを取得
strBody = objMail.Body  '本文を取得
'
'[送信者名と送信者のEmailアドレスの処理]
'
 '送信者名と送信者のEmailアドレスが同じ場合はEmailアドレスのみ表示
 If strSenderName = strSenderEmailAddress Then
    strSenderName = strSenderEmailAddress
 Else
 '送信者のメールアドレスがEmailの場合は送信者名とEmailアドレスの両方を表示
  If InStr(strSenderEmailAddress, "@") Then
     strSenderName = strSenderName + "<" + strSenderEmailAddress + ">"
  Else
 '送信者のメールアドレスがExchangeの場合はSMTPアドレスを取得
     strSenderEmailAddress = _
     objMail.Sender.PropertyAccessor.GetProperty("http://schemas." _
     & "microsoft.com/mapi/proptag/0x39FE001E")
  End If
 End If
'
'[スパムフィルタ]
'
'スパムリスト(送信者のEmailアドレス)の取込
Open strSpamFile1 For Input As #1
Do Until EOF(1)
 Line Input #1, buf
 strSpamList1 = strSpamList1 + buf
 strSpamList1 = Replace(strSpamList1, vbCrLf, "")
Loop
Close #1
'
'スパムリスト(表題)の取込
Open strSpamFile2 For Input As #1
Do Until EOF(1)
 Line Input #1, buf
 strSpamList2 = strSpamList2 + buf
 strSpamList2 = Replace(strSpamList2, vbCrLf, "")
Loop
Close #1
'
'表題の先頭部分を抽出(デフォルトは5文字)
strShortSubject = Mid(strSubject, 1, 5)
'
'スパム確認(送信者のEmailアドレス)
If InStr(strSpamList1, strSenderEmailAddress) > 0 Then
 Exit Sub
Else
End If
'
'スパム確認(表題)
If InStr(strSpamList2, strShortSubject) > 0 Then
 Exit Sub
Else
End If
'
'[メッセージの作成]
'
'受信メールをOFTとして保存しOFTから新規メッセージを作成
 strFileName = Environ("TEMP") & "~forward.oft"  '受信メールをOFTとして保存
 objMail.SaveAs strFileName, olTemplate
 Set fwMail = Application.CreateItemFromTemplate(strFileName)    'メッセージを作成
'
'元メールから宛先を削除
 With fwMail.Recipients
  For i = .Count To 1 Step -1
          .Remove i
  Next
 End With
'
'元メールから添付ファイルを削除
 With fwMail.Attachments
  For i = .Count To 1 Step -1
          .Remove i
  Next
 End With
'
'トリガー送信先アドレスを宛先に設定
fwMail.To = ForwardToAddress
'
'[通知のOn/Offのリモート操作]
'
'特定の送信者から特定の表題のメールを受信した時にマクロをOn/Offし通知先に通知
'
If strSubject = "通知中断" Then
 If strSenderEmailAddress = MailStopAddress Then
    'バッチファイルを起動
    Shell strStopPushFile, 0
    '通知の件名を作成
    fwMail.Subject = "リモート操作によりPush通知を中断しました。"
    '本文を空白に
    fwMail.Body = ""
    '通知を送信
    fwMail.Send
    Exit Sub
 Else
 End If
Else
End If
'
If strSubject = "通知再開" Then
 If strSenderEmailAddress = MailStopAddress Then
    'バッチファイルを起動
     Shell strStartPushFile, 0
    '通知の件名を作成
    fwMail.Subject = "リモート操作によりPush通知を再開しました。"
    '本文を空白に
    fwMail.Body = ""
    '通知を送信
    fwMail.Send
    Exit Sub
 Else
 End If
Else
End If
'
'[通知のOn/Off状態の確認]
'
strStatus = Dir(strStatusFile)
If strStatus = "" Then
 Exit Sub
Else
End If
'
'[表題と本文を加工して送信]
'
'本文から余計な空白と改行コードを削除
strRepBody = Replace(strBody, " ", " ")
strRepBody = Replace(strRepBody, vbCrLf, " ")
strRepBody = Replace(strRepBody, "  ", " ")
'
'本文の文字数を制限(デフォルトは100文字)
strShortBody = Mid(strRepBody, 1, 100)
'
'件名に件名、送信者名、本文を表示
fwMail.Subject = strSubject & " " & strSenderName & " " & strShortBody
'
'本文を空白に
fwMail.Body = ""
'
'通知メールを送信
fwMail.Send
'
ErrorTrap:
'
End Sub
 

リモート操作用ファイル
特定の送信者(マクロ内で指定)からの特定の表題(通知中断/通知再開)のリモートメールで通知をOn/Offする際に使います。

PC上でバッチファイルをクリックして通知をOn/Offする事も出来ます。

以下の3個のファイルをマクロ内で指定したフォルダ内に保存しておいて下さい。

1) Stop_Pushing.bat

cd/
cd C:\環境に合わせて書き換えてください\IFTTT\
ren Push_is_On_Now.txt Push_is_Off_Now.txt

2) Start_Pushing.bat

cd/
cd C:\環境に合わせて書き換えてください\IFTTT\
ren Push_is_Off_Now.txt Push_is_On_Now.txt

3) Push_is_On_Now.txt

このファイルは中身は空で構いません。
スパムフィルタ用ファイル
以下の2つのテキストファイルをANSI形式で保存してマクロ内で指定したフォルダ内に置いて下さい。

1) spamlist.txt

Androidに通知を送る必要のないメールの送信者のメールアドレスを記入します。

送信者名等のメールアドレス以外の記述や改行等が含まれていても問題ありません。

2) keyword.txt

Androidに通知を送る必要のないメールの表題を記入します。

但し、表題の冒頭部分(デフォルトは5文字)しか照会しませんので、注意して下さい。
IFTTT側の設定
IFTTTへのトリガーメールでPushBulletに通知を送るように設定しておきます。


当方の環境下では以下の様に"Message"に"Body"を指定してもPushbulletには本文は送られませんので、必要な情報は全て表題として送信するようにOutlookのマクロ側で加工しています。


通知のOn/Off切り替え用のショートカット
通知のOn/Offをリモート操作で設定するのメール(定型文)は以下のアプリを使って簡単に作成・送信出来るようにしています。


定型文+アプリ起動(定型文メール作成)

判りやすい様にTaskerでアイコンと名称を変更したランチャを作成して使用しています。


Tasker(カスタマイズツール)


2015/09/12

Galaxy Note 5(SM-N920S、韓国SKテレコム版)のHidden Menu


Galaxy Note 5(SM-N920S、韓国SKテレコム版)のSKT Hidden Menuへの入り方は従来機種と同じです。

電話アプリからSecret Codeの"319712358"を入力するとパスワード入力画面になります。

ここでパスワードの"996412"を入力すると、SKT Hidden Menuに入ることが出来ます。

SKT Hidden Menuでは、Networkの設定、VoLTEやSMSの設定等が出来ますが、当方がよく使うのは、"Network Setting/Network Mode"です。


Secret Codeやパスワードを都度入力するのは面倒なので、Taskerで簡易ランチャーアプリを作って、Secret Codeとパスワードのインプットを自動化しています。



但し、簡易版ですので、途中の警告画面で"OK"をクリックする必要があります。

2015/09/04

Galaxy Note 5(SM-N920S:韓国SKテレコム版)レビューとカスタマイズ内容のメモ


Last Update : 24/Oct/2015

Galaxy Note 5(SM-N920S : 韓国SKテレコム版)を購入しましたので、製品とカスタマイズの概要を簡単に報告します。

■購入機種と価格及び加入プラン

韓国版のGalaxy Note 5にはキャリア別に3種類あります。

・SM-N920S : SKテレコム版
・SM-N920T : KT版
・SM-N920L : LG U+版

色は、黒、白、ゴールドの3色で、フラッシュ容量が32GB版と63GB版がありますが、今回購入したのは、SKテレコム版(SM-N920S)の32GB、ゴールドです。


機種変更での端末価格は899,800ウォンでしたが、24ヶ月縛りの割引で821,600ウオン。

プランは、前機種と同じ、通話:100分/月、Data:3GB/月で41,000ウォンの安いプランにしました。

COEX内にあるSamsung dilight shop(サムスンの直営店)で機種変更の手続きをしましたが、代理店ですともっと端末の値引率が高いかもしれません。(その代わり、高いプランに加入させられたりする場合があります。)

■同梱品

この機種は裏蓋が外せませんので、従来機種に付属していた交換用のバッテリーや充電機能付きバッテリーケース等は付属しません。

充電器とケーブル、ヘッドホン、SIM取り出し用のツール、Sペンのペン先の予備パーツだけが付属します。


■端末情報

購入当初からAndroidのバージョンは5.11で、ビルド番号はOG1(15年7月の最初のビルド)でした。

電源を投入するとスグにOTAが降ってきて、ビルド番号がOH4(15年8月の4番めのビルド)のファームウェアにアップデイトされました。


■ベンチマーク

AntutuとQuadrantのベンチマーク値は以下です。

ここまでくると、もう、端末の動作スピードには全く不満はありません。(オーバースペック?)


■RAM

全てのスペックがハイエンドな端末ですが、特にRAMが4GBあるのは心強いです。

しかし、不要なアプリを削除や無効化し、Greenifyでの休眠等を行っても、日常よく使うSNSアプリ等を常駐させて使っていると、RAMの空き容量は1.3GBになってしまいます。(標準インストールされている"スマートマネージャー"で”全て終了”すると空き容量は1.8GB迄増えます。)

快適な動作の為にキャッシュを多めにとる設定になっているのだと思いますが、システムアプリが使用する容量が多くなっている気がします。


■バッテリー容量

裏蓋が外せずバッテリーが交換不能な機種で3000mAhという容量は十分なのかが気になるところです。

内製のExynosシリーズのApplication Processorやモデムの消費電力がQualcommのSnapdragonシリーズと比較してどうなのか...

試しに、省電力モードでWiFiを切ってLTEの待ち受け状態で5時間半程放置してみたところ、バッテリーは100=>98%に減っていました。

待機時のバッテリー消費は少ないようです。


■プリインストールアプリ

最近の韓国のスマートフォンは、政府の指導もあり、プリインストールアプリの数が減り、プリインストールされているアプリも、設定メニューから無効化出来たり、ユーザアプリとしてインストールされていてアンインストール(削除)出来る物が多くなっています。(これらのアプリは削除してもPlayストアやGalaxy Appsから再インストール出来ます。)

無効化やアンインストール(削除)は"設定"=>"アプリケーション"=>"アプリケーション管理"=>"全て"から行います。


Galaxy Note 5でroot化前の標準状態で削除や無効化したプリインストールアプリ
http://galaxy-shw-m110s.blogspot.kr/2015/10/galaxy-note-5root.html

■Root化

Adaway、App Ops、ESファイルエクスプローラ、Tasker、Titaniumや幾つかの自作アプリを使いたくて、Root化しています。


Root化の手法については以下の投稿をご覧ください。

Galaxy Note 5のRoot化(SM-N920S : 韓国SKテレコム版)
http://galaxy-shw-m110s.blogspot.kr/2015/09/galaxy-note-5rootsm-n920s-sk.html

■Root化後にスクリプトで一括で無効化したシステムアプリ

不要なシステムアプリはRoot化後にスクリプトを使用して一括で拡張子を書き換えて無効化しました。

Galaxy Note 5の不要なプリインストールアプリをスクリプトで一括無効化
http://galaxy-shw-m110s.blogspot.kr/2015/10/galaxy-note-5_22.html

■カメラの無音化

従来機種同様、カメラアプリを解凍して、中の音源ファイルをを無音ファイルに置き換えて、かつ、システムの側のファイルを幾つか無効化する事で、カメラアプリを無音化する事が出来ます。(Root化必須。)

Galaxy Note 5のカメラの無音化
http://galaxy-shw-m110s.blogspot.kr/2015/10/galaxy-note-5_23.html

■標準ブラウザのメニューに終了オプションを追加

下記の方法で標準ブラウザのメニューをカスタマイズしています。

Galaxyの標準ブラウザのメニューに終了オプションを追加
http://galaxy-shw-m110s.blogspot.kr/2013/11/galaxy.html

■Greenifyで一部のアプリを休止

Greenifyを使用して常にバックグラウンドで起動しているアプリを休止しています。

常にバックグラウンドで起動してバッテリーを消費しているアプリをGreenifyで休止
http://galaxy-shw-m110s.blogspot.kr/2013/11/greenify.html

システムの改竄やカスタマイズには端末が起動しなくなったり保証の対象外となるリスクが伴います。自己責任にてお願い致します。