プログラムでデバイス設定にアクセスする方法はありますか?
例:[設定]>[開発者向けオプション]>[USBデバッグ]>[True /False]
前もって感謝します。
編集:USBデバッグは単なる例です。デバイスの設定に存在するすべての設定にアクセスできますか?
プログラムでデバイス設定にアクセスする方法はありますか?
例:[設定]>[開発者向けオプション]>[USBデバッグ]>[True /False]
前もって感謝します。
編集:USBデバッグは単なる例です。デバイスの設定に存在するすべての設定にアクセスできますか?
Settings.Secure.putInt(getActivity().getContentResolver(),Settings.Secure.ADB_ENABLED, 1);
ただし、これを行うには root アクセスが必要です。安全な設定を変更する権限を持っているのはシステム アプリだけです
編集:これを試して、すべてのANRを表示してください
Settings.Secure.putInt(ContentResolver,Settings.Secure.ANR_SHOW_BACKGROUND,0);
アクティビティを保持しない
ActivityManagerNative.getDefault().setAlwaysFinish(true)
ただし、ActivityManagerNative は標準 API セットに隠されています。リフレクションを行うか、このメソッドを使用して android.jar を取得する必要があります。繰り返しますが、これにはルートアクセスが必要だと思います
次のように試してください:
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>
そして最後にこの例を見てください
この質問は古いことは知っていますが、興味深いものです。
Nandeesh のソリューションはうまく機能します。ただし、USB デバッグなどの特定の設定を変更したい場合は機能しません。次の権限を使用する必要があります。
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
ただし、システムアプリ以外では動作しません。ただし、root アクセス権限がある場合は、これを行うことができます。著者がまったく同じことを解決するこのソリューションを試すことができます。
アプリがsystem appでない限り、USB デバッグをオンにすることはできません。
このコード行が役立つ場合があります。
Settings.Global.putInt(getContentResolver(), Global.ADB_ENABLED, 1);
そして、あなたはこの許可が必要です:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
ただし、この権限をマニフェストに追加すると、次のエラーが表示されます:権限はシステムアプリにのみ付与されます
つまり、アプリはシステム アプリである必要があります。