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

2016/03/24

USBデバッグをトグルでOn/OffするアプリをTaskerで作成


USBデバッグをトグルでOn/OffするアプリをTaskerを使って作成しました。


On/Offを切り替えるたびに通知エリアに通知が表示されます。

USBデバッグをOffにした場合は、通知内のボタンをタップしてUSBデバッグをOnに戻すことが出来ます。

端末のroot化が必須で、TaskerプラグインのSecure Settingsも必要です。

主な用途としては、USBデバッグがOnになっていると起動出来ないアプリをワンタッチで起動する為、ランチャーを自作し、そのランチャーの中でこのアプリを最初に呼び出してUSBデバッグを一時的にOffにしています。

■アプリ動作概要


1.Notify Cancel:USBデバッグをOnにした際の通知をキャンセル。
2.Notify Cancel:USBデバッグをOffにした際の通知をキャンセル。
3.List Files:USBデバッグがOnであることを示すファイルの有無を確認。
4.If:上記ファイルがある場合。
5.Notify:USBデバッグをOffにした旨通知。(再度Onにするボタン付き)
6.Secure Settings:USBデバッグをOffに。
7.Delete File:USBデバッグがOnであることを示すファイルを削除。
8.Else:USBデバッグがOnであることを示すファイルが無い場合。
9.Notify:USBデバッグをOnにした旨通知。
10.Wait:終了直後にUSBデバッグをOnにするとエラーを吐くアプリ対策。
11.Secure Settings:USBデバッグをOnに。
12.Copy File:USBデバッグがOnであることを示すファイルをコピー。
13.End If:条件式終了。

■アプリ動作詳細

1.Notify Cancel:USBデバッグをOnにした際の通知をキャンセル。
2.Notify Cancel:USBデバッグをOffにした際の通知をキャンセル。


前回起動時の通知が残っている場合はキャンセルします。(USBデバッグOn/Offの通知が複数表示されない様にしています。)

ちなみに、通知のキャンセルは通知したアプリからしか行えません。

3.List Files:USBデバッグがOnであることを示すファイルの有無を確認。
4.If:上記ファイルがある場合。


中身はダミーのテキストファイル(ファイル名は任意)の有無を確認します。

このテキストファイルは、USBデバッグをOnにした時に”/sdcard/カスタマイズ用/"から"/sdcard/"にコピーし、USBデバッグをOffにした時に"/sdcard/"から削除します。

5.Notify:USBデバッグをOffにした旨通知。(再度Onにするボタン付き)


"Action"部分は通知上のボタン(再度USBデバッグをOnにするボタン)です。

ここでは自分自身を起動します(自分自身を起動しないと古い通知をキャンセル出来ません)ので、作成途中のアプリを一旦アプリ化して端末にインストールしておき、自分自身を指定します。


6.Secure Settings:USBデバッグをOffに。
7.Delete File:USBデバッグがOnであることを示すファイルを削除。


USBデバッグをOffにして、USBデバッグがOnであることを示すファイルを"/sdcard/"から削除します。

8.Else:USBデバッグがOnであることを示すファイルが無い場合。
9.Notify:USBデバッグをOnにした旨通知。
10.Wait:終了直後にUSBデバッグをOnにするとエラーを吐くアプリ対策。


USBデバッグをOnにした旨通知します。

普段、USBデバッグはOnにしたままにしていますので、こちらの通知にはUSBデバッグをOffにするボタンは付けていません。

USBデバッグがOnになっていると起動出来ないアプリの中にはアプリ終了直後にUSBデバッグをOnにするとエラーを吐くアプリがありますので、対策としてWaitを1秒入れています。

11.Secure Settings:USBデバッグをOnに。
12.Copy File:USBデバッグがOnであることを示すファイルをコピー。


USBデバッグをOnにして、USBデバッグがOnであることを示すファイルを”/sdcard/カスタマイズ用/"から"/sdcard/"にコピーします。

13.End If:条件式終了。








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