アプリ内からプログラムで (設定/アプリケーション/開発の下で) USB デバッグを有効にすることは可能ですか?
http://developer.android.com/reference/android/provider/Settings.System.htmlを見ていましたPermission.WRITE_SETTINGS
が
、適切なものが見つかりませんでした。
アプリ内からプログラムで (設定/アプリケーション/開発の下で) USB デバッグを有効にすることは可能ですか?
http://developer.android.com/reference/android/provider/Settings.System.htmlを見ていましたPermission.WRITE_SETTINGS
が
、適切なものが見つかりませんでした。
アプリからこれを行うには、ルート権限が必要です。
ただし、次の端末コマンドを実行することで ADB を有効にすることができます。
setprop persist.service.adb.enable 1
start adbd
このブログ投稿は、 を通じてエスカレートされた権限でこれらのコマンドを実行する方法の優れた例を示していますsu
。
最初:アプリはシステム アプリである必要があります
このコード行が役立つ場合があります。
Settings.Global.putInt(getContentResolver(), Global.ADB_ENABLED, 1);
そして、あなたはこの許可が必要です:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
ただし、この権限をマニフェストに追加すると、次のエラーが表示されます: 権限はシステムアプリにのみ付与されます
つまり、アプリはシステム アプリである必要があります。
セキュリティ設定へのアクセスを許可する独自のカスタム ファームウェアを使用しないと、これは不可能です。ここのスレッドを参照してください: http://groups.google.com/group/android-developers/browse_frm/thread/953c6f0eb0fa9bed#
これらの3つのステップに従う必要があります
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
Settings.Secure.putInt(requireActivity().contentResolver, Settings.Global.ADB_ENABLED, 1)
またはSettings.Secure.putInt(requireActivity().contentResolver, Settings.Global.ADB_ENABLED, 0)
無効にします。adb shell pm grant your.package.name android.permission.WRITE_SECURE_SETTINGS
。デバイスは、USB デバッグがアクティブな状態でコンピューターに接続する必要があります。このアプローチを使用して、 Debug USBやKeep Device Screen Active https://play.google.com/store/apps/details?id=it.stzan.devtoolsなどの開発者オプションを有効/無効にする簡単なアプリを開発しました。
免責事項: 私は DevTools の実際の開発者です