17

プログラムでデバイス設定にアクセスする方法はありますか?

例:[設定]>[開発者向けオプション]>[USBデバッグ]>[True /False]

前もって感謝します。

編集:USBデバッグは単なる例です。デバイスの設定に存在するすべての設定にアクセスできますか?

4

6 に答える 6

15

Settings.Secure.putInt(getActivity().getContentResolver(),Settings.Secure.ADB_EN​​ABLED, 1);

ただし、これを行うには root アクセスが必要です。安全な設定を変更する権限を持っているのはシステム アプリだけです

編集:これを試して、すべてのANRを表示してください

Settings.Secure.putInt(ContentResolver,Settings.Secure.ANR_SHOW_BACKGROUND,0);

アクティビティを保持しない

ActivityManagerNative.getDefault().setAlwaysFinish(true)

ただし、ActivityManagerNative は標準 API セットに隠されています。リフレクションを行うか、このメソッドを使用して android.jar を取得する必要があります。繰り返しますが、これにはルートアクセスが必要だと思います

于 2012-08-16T10:34:57.643 に答える
5

次のように試してください:

 int adb = Settings.Secure.getInt(context.getContentResolver(),
  Settings.Secure.ADB_ENABLED, 0);
 // toggle the USB debugging setting
 adb = adb == 0 ? 1 : 0;
 Settings.Secure.putInt(context.getContentResolver(), 
Settings.Secure.ADB_ENABLED, adb);

AndroidManifest.xml で:

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

そして最後にこの例を見てください

http://code.google.com/p/secure-settings-widget/source/browse/src/com/lieryan/adbwidget/ADBAppWidgetProvider.java?r=eb23b2d6989ccade05f095806db5888f1ba62737

于 2012-08-16T10:35:06.593 に答える
3

この質問は古いことは知っていますが、興味深いものです。

Nandeesh のソリューションはうまく機能します。ただし、USB デバッグなどの特定の設定を変更したい場合は機能しません。次の権限を使用する必要があります。

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

ただし、システムアプリ以外では動作しません。ただし、root アクセス権限がある場合は、これを行うことができます。著者がまったく同じことを解決するこのソリューションを試すことができます。

https://github.com/alseambusher/adb-toggleを試すこともできます

于 2015-10-25T09:07:19.747 に答える
0

アプリがsystem appでない限り、USB デバッグをオンにすることはできません。

于 2013-08-17T05:41:17.417 に答える
0

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

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

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

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

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

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

于 2014-11-25T06:47:44.123 に答える