10

アプリ内からプログラムで (設定/アプリケーション/開発の下で) USB デバッグを有効にすることは可能ですか?

http://developer.android.com/reference/android/provider/Settings.System.htmlを見ていましたPermission.WRITE_SETTINGSが 、適切なものが見つかりませんでした。

4

6 に答える 6

14

アプリからこれを行うには、ルート権限が必要です。

ただし、次の端末コマンドを実行することで ADB を有効にすることができます。

setprop persist.service.adb.enable 1
start adbd

このブログ投稿は、 を通じてエスカレートされた権限でこれらのコマンドを実行する方法の優れた例を示していますsu

于 2012-04-03T10:40:06.547 に答える
7

最初:アプリはシステム アプリである必要があります

このコード行が役立つ場合があります。

Settings.Global.putInt(getContentResolver(), Global.ADB_ENABLED, 1);

そして、あなたはこの許可が必要です:

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>

ただし、この権限をマニフェストに追加すると、次のエラーが表示されます: 権限はシステムアプリにのみ付与されます

つまり、アプリはシステム アプリである必要があります

于 2014-11-25T05:51:35.783 に答える
5

セキュリティ設定へのアクセスを許可する独自のカスタム ファームウェアを使用しないと、これは不可能です。ここのスレッドを参照してください: http://groups.google.com/group/android-developers/browse_frm/thread/953c6f0eb0fa9bed#

于 2010-08-13T14:40:40.000 に答える
0

これらの3つのステップに従う必要があります

  1. マニフェストに置く<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
  2. コードでこのコマンドを使用して、USB デバッグを有効Settings.Secure.putInt(requireActivity().contentResolver, Settings.Global.ADB_ENABLED, 1)またはSettings.Secure.putInt(requireActivity().contentResolver, Settings.Global.ADB_ENABLED, 0)無効にします。
  3. 重要これらのシステム API を使用する前に、実行中の adb から WRITE_SECURE_SETTINGS を付与する必要がありますadb shell pm grant your.package.name android.permission.WRITE_SECURE_SETTINGS。デバイスは、USB デバッグがアクティブな状態でコンピューターに接続する必要があります。

このアプローチを使用して、 Debug USBKeep Device Screen Active https://play.google.com/store/apps/details?id=it.stzan.devtoolsなどの開発者オプションを有効/無効にする簡単なアプリを開発しました。

免責事項: 私は DevTools の実際の開発者です

于 2021-03-02T22:17:37.930 に答える