「Android」カテゴリーアーカイブ

GALAXY S4 SC-04Eで勝手にロック画面が表示される問題

GALAXY S4(SC-04E)の最新ファームでもroot化が出来るようなので買ってみました。
(つい先日SC-06Dをroot化したばかりなのに・・・)

root化自体はそれほど苦労なく終了。
(但し現状ではTriangleAwayを使ってカウンターリセットは出来ない模様)
テザリングは少々面倒だったけど終了。
「戻る」と「設定」ボタンの入れ替えも終了。
(この辺りは後日記事として書くかも)

で、一番気になってた「スリープから勝手にロック画面が表示される問題」も
なんとか解決することが出来ました。
※ファーム「SC04EOMUFNI3」で確認。
(端末に一切手を触れていなくても起きる現象で、起きる頻度もバラバラという・・・)

最初に試したのは各種設定を変更することでした。
結果、どんなに設定を変えても、やはり勝手にスリープ状態からロック画面が表示さる・・・

次にAppOpsというアプリを使って権限を剥奪したりしてみました。
(Android4.4.2ではroot化してないとAppOpsは動きません)
現象が出た直後にAppOpsでkeep awakeの項目が0分になってるアプリを探し出し
keep awakeの権限を剥奪してみました。
しかし、それでも現象は収まりませんでした。

どうやっても現象が収まらないので、半ば諦めかけてた時
おもむろにワンセグのアンテナに手を伸ばすとロック画面がONに。

あれ?と思い画面を消した状態でアンテナを伸ばしてみる。
するとスリープ状態からロック画面がONに。

また画面を消してアンテナを収めると・・・
スリープ状態からロック画面がONに。

アンテナの状態が変わるとAndroidOSになんらかの通知が行くようです。

そこでアンテナを最大長と収納状態に何度が出し入れし
しっかりと収納してみたところ、ロック画面がONになる現象が収まりました。

何らかのアプリのせいだと思っていましたし、そもそも端末に一切手を触れなくても
勝手にロック画面がONになるので、物理的なアンテナが関係あるとは思いもしませんでした。

この現象が出てる方は他にもいるようで、アンテナ以外にも原因があるかもしれませんが
困ってる方は一度試してみる価値はあるかと思います。

2014/01/24 追記
この方法で一時的に収まっても、何らかのきっかけで再び現象が起こる端末があるようです。
(起こっても再びアンテナを出し入れすれば暫くは収まる)

私の端末では対処後は一切起こらなくなりましたが、再発する人のために調査してみました。

某掲示板にて
「アンテナON/OFFのキー自体を無効にしたらどうだろう?」というレスがあったので
どこにキーがあるか調べて返信しておきましたが、実際に自信の端末で
アンテナON/OFFのイベントが無効になるか試してみました。
※これから書く方法はroot権限の取得と/systemの書き込み可能マウントが必要です。

該当ファイルは/system/usr/keylayout/sec_dmb_key.klになります。

変更前
key 539 DMB_ANT_OPEN WAKE_DROPPED
key 540 DMB_ANT_CLOSE WAKE_DROPPED

変更後
# key 539 DMB_ANT_OPEN WAKE_DROPPED
# key 540 DMB_ANT_CLOSE WAKE_DROPPED

これをコメントアウトして端末を再起動すれば、アンテナを出し入れしても
スリープからロック画面が表示されることがなくなりました。

但し、何もしてないのにロック画面になる現象が再発しないかは
私の端末がそもそも再発しなくなったので確認できません。

再発する人は試して報告してもらえると助かります。

OCNモバイルONEの音声SIMで留守番電話機能を使う

※完全に無料で使えるわけではありません。
留守番電話が録音される際に通話料金が掛かりますので
頻繁に留守番電話が録音されるような方には向きません。

2014年12月現在、DOCOMO系は留守番電話が有料オプションです。
(月額300円+税で契約して使えるようになります)

AUやSoftBankは無料で留守番電話が使えるのですが・・・

またスマホ本体で留守番電話機能を持つものも最近は出て来ましたが
回線が繋がってることが条件で、電源を切ってたり圏外だと機能しません。
(私が使ってるスマホには簡易留守電機能がそもそも付いてません)

そこでOCNモバイルONEの音声SIMを契約すると
無料で使用可能な050plusを使って留守番電話サービスを実現します。

050plusの留守番電話機能は無料です。
しかも録音された内容をファイルとして添付し、指定したメールアドレスへと
送信してくれる機能まで無料で使えます。

概要としては以下となります。

通常の電話番号でスマホに着信、もしくは圏外などで繋がらない場合や
一定時間経過しても電話に出ない場合、電話を050plusへ転送する。
050plusでも通信出来なかったり電話に出なければ
050plusの留守番電話機能が動いて録音してくれる。

では早速設定を行います。

まずはダイアル画面から「通話設定」を選択。
通話設定

次に「ネットワークサービス」を選択。
ネットワークサービス

更に「転送電話サービス開始」を選択して転送したい電話番号(今回は050plus)と
転送までの時間を設定します。(圏外の場合は0秒で転送されます)
転送電話サービス開始

「この電話を転送します」という内容のガイダンスは特に必要ないので
「ガイダンス設定」からガイダンスOFFを選択。
ガイダンス設定

これで電話に出れない場合の転送設定は完了です。

続いて050plus側の設定です。

050plusのアプリ画面から「050plus設定一覧」へ
050plus設定一覧

「管理メニュー」ボタンを押すと050plus設定ログイン画面が表示されるので
パスワードを入力してログインします。
050plus設定ログイン

管理メニューにが表示されたら「050plus留守番電話設定」をクリック。
050plus管理メニュー

※050plusを申し込んだ当日は、留守番電話設定を行えません。
翌日以降に設定してください。

(0時を回ってもダメで朝になったら使えるようになってました)

050plus留守番電話設定1
050plus留守番電話設定2

送り先のメールアドレスを入力し、音声ファイルを添付するを選択すると
録音された音声がメールで飛んでくるので非常に便利です。

ちなみに、050plusアプリが起動してて通話可能な状態だと
転送までの秒数+050plusの留守電までの秒数が経たないと留守電は開始しません。

日頃050plusへ電話が掛かって来ることがなければ
050plusのアプリを起動しないことで、転送の秒数のみで留守電へ切り替わります。
(050plusへ直接電話があった場合は即留守電になります)

以上で、OCNモバイルONEでも留守番電話オプション契約なしで
留守番電話の機能を実現することが可能となります。

※最初にも書いてますが、この方法は完全に無料ではありません。
050plusへ転送中は、通話料金がこちらにも発生します。

(通常回線から050plusへ電話した時と同じ料金体系)
ですので、留守電が頻繁に入り、発生する通話料金が月300円を超えるような人は
通常の留守番電話サービスに申し込んだ方が明らかにお得です。

私のように1ヶ月に1回留守電が入るか入らないかのような人は全く問題ありません!

GALAXY S3のプリインストールアプリを削除

GALAXY S3はAndroid4.0~4.12なので、不要なアプリは
アプリケーション管理から無効に出来ます。
しかし、中には無効に出来ないアプリも存在します。

今回はそんなアプリを無効化しましす。
(Titanium backupを使えば凍結出来ると思いますが、有料なので今回は使いません)

※root化は行ってる前提で書いてます。
参考:GALAXY S3をroot化(JZO54K.SC06DOMBMK2 4.1.2)

取り合えずUSBデバッグでsuにてAndroidにログインし
pmコマンドでパッケージの無効化を試してみましたが
GALAXY S3では無効化できませんでした・・・

そこで今回はフリーのアプリを使います。

NoBloatというアプリです。

NoBloat

ますはSystem appsを選択。

次に削除したいアプリを選択。
今回はドコモ電話帳を削除します。

NoBloat2

最初Disableを選択してみましたが、pmコマンド同様に無効にならなかったので
Backup and deleteでバックアップと削除を行います。
(消した後もトップページのBacked up appsから戻すことが可能になります)

NoBloat3

OKを押せばバックアップと削除が開始され、数秒~10秒程度で終了します。

NoBloat4

System appsの一覧から消えました。
ただDisableで試した時も、失敗してるにも関わらず一覧から消えていたので
端末を再起動してアプリケーション管理から確認します。

NoBloat5

(下の写真はBacked up appsの一覧に出てきたとこで、ここから復元できます)

NoBloat6

端末再起動後のアプリケーション管理にも出てこなくなりました。

成功!

GALAXY S3 SC-06D セルスタンバイ問題

バッテリーの減りが早い気がするが、新品ではないので何が原因か特定が出来ない。
(一応、新品のバッテリーを注文してますが、これを書いてる時点ではまだ届いてない)

何か原因があるのかと思い、バッテリーの項目を見ると「セルスタンバイ」が大半を占めてると分かる。
が、そもそもバグでセルスタンバイの数値が一桁多く計算されてるというブログもあった。

現状はアンテナも立ってるし、LTEでの通信も行えているので
セルスタンバイ問題がバッテリー消費の原因ではないかもしれないが
念のためにセルスタンバイ問題の解決策を実施しておくことにした。
(セルスタンバイ項目の圏外は100%表示されているし)

※root化とXposedの導入は行ってる前提で書いてます。
参考:GALAXY S3をroot化(JZO54K.SC06DOMBMK2 4.1.2)

セルスタンバイ問題の対策パッチをXposedのモジュールとして作成されている方がいるので、素直にそれを利用させてもらいます。
Android + docomo MVNO データ通信専用 SIM のセルスタンバイ&アンテナピクト問題対策 Xposed モジュール

導入したばかりなので、今のところ効果があるのかは分かりません。
(圏外も100%表示のまま)

追記
Xposed2.1.4では全く違いを体感出来なかったので、試しにXposed2.7を入れてみました。
結果、明らかにセルスタンバイの動きが変わりました。
(圏外が100%から殆ど圏外なしに変わった)

つまりSMSや通話なしのドコモ系MVNO SIMを利用した場合、セルスタンバイ問題が起こります。

Xposed2.7 + DocomoSimPatcherXXXXXXXX.apkでセルスタンバイ問題を回避可能。

セルフスタンバイ1
セルフスタンバイ2
セルフスタンバイ3

GALAXY S3の戻るボタンの場所変更

今まで使っていたスマホは、ホームボタンの左側が戻るボタン
他のスマホでも一般的には左側が戻るボタンのようです。

だったらGALAXY S3のボタンの方を変更すべきだと思い、変更してみることにしました。
変更自体は/system/usr/keylayout/sec_touchkey.klを書き換えればいいだけ。

sec_touchkey.klの中の「key 139」が左ボタンの動作で
「key 158」が右ボタンの動作として割り当てられています。

以下、初期値。

key 139 = MENU
key 158 = BACK

これを逆にすれば設定ボタンと戻るボタンが入れ替わります。

key 139 = BACK
key 158 = MENU

但し、この作業を行うにはroot化が必須となります。

またroot権限であっても、systemは書き換えが出来ない状態なので
まずは書き換え可能として再マウントを行います。

まずはコマンドプロンプトからUSBデバッグ経由でshellを起動します。
(USBデバッグモードとADBドライバ、及びAndroidSDKが必要です)

adb.exe shell
$ su
# mount -o rw,remount /dev/block/mtdblock3 /system

これで書き込み可能な状態で再マウントできました。
早速書き換えを行おうとしたら、書き込みが出来ずにエラーになります。

これは単にパーミッションを変更すれば問題ありませんでした。

# chmod 777 /system/usr/keylayout/sec_touchkey.kl

そして書き換え完了後にパーミッションを戻しておきます。

# chmod 644 /system/usr/keylayout/sec_touchkey.kl
# exit
$ exit

これで書き換えは終わったので、再起動すればボタンの位置が入れ替わります。

ボタンの内容を入れ替えても、ボタンのLED点灯は右が戻るのままなので
気になる場合は、ボタンのLED自体を消しちゃえば気になりません。

「設定」-「ディスプレイ」-「タッチキーライト消灯時間」を「常にOFF」にすれば消えます。

GALAXY S3をroot化(JZO54K.SC06DOMBMK2 4.1.2)

発売から2年以上経って中古で購入したGALAXY S III(SC-06D)

保証も糞もないので最初からroot化しました。

が、購入時は既にファームウェアが最新のJZO54K.SC06DOMBMK2になっていました。

root化で検索するとよく出てくるroot化キットはSC06DOMALG1で行うもの。

では、SC06DOMALG1にバージョンダウンしてから実行しようと
早速SC06DOMALG1とOdinを使ってファームダウン!

再起動するとSAMSUNGロゴで止まって起動しない・・・

調べてみると、どうも最新のファームから初期ファームへのバージョンダウンは
対策が取られているのか出来ない模様。

更に色々調べてみると、JZO54K.SC06DOMBMK2から直でroot化に成功している人を発見!

Galaxy S3 (SC-06D) LG6アップデート後のroot取得の流れ

う~ん、素晴らしい。
ということで、この通りやればroot化に成功しました。

そして、以下のサイトを参考にテザリングも完了。
(直接apkを書き換える方法もあるようだけど、こちらの方が安全です)

〔GalaxyS3無印〕SC06DでMVNOテザリング

テザリング可能にするのに1点はまったのは、XposeInstallerでXposeをインストールしてもちゃんと動かなかったこと。
最新版を取って来て入れてもダメで、以下のサイトから2.1.4を取得して来たら動きました。

Xposed Module Repository

一番上に最新版のリンクがありますが下のShow older versionsをクリックすれば
過去バージョンもダウンロードできます。

2014/11/15 追記
最新のXpose2.7でのインストールが出来ました。
(エラーになった2.6.1でも手順は同じです)

普通にフレームワークのインストールを行おうとしても再起動するだけで失敗します。
そこで「設定」から「インストール方法」を選択し、デフォルトのクラシックではなく
「リカバリ(自動でzipインストール)」を選択し、フレームワークをインストールすればOKです。

この方法で最新版のXposeをインストールすることが出来ました。