Я тоже пытался это сделать, и я могу получить довольно близко! но я подозреваю, что это действие фактически не разрешено. Мы можем запустить экран настроек учетной записи, но затем появляется сообщение с принудительным закрытием.
Нам нужно только начать следующее намерение запустить настройки для конкретной учетной записи:
Intent i = new Intent(Intent.ACTION_MAIN);
ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.SubSettings");
i.setComponent(cn);
В основном, когда ActivityManager начинает свою деятельность, с помощью ручного нажатия на счете, целью является:
01-17 11:28:39.738: I/ActivityManager(72): START {act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings (has extras)} from pid 708
Сравните это с Intent посланного нашего подхода:
01-17 11:23:39.740: D/SetupSync(1359): Intent { act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings }
ОДНАКО, вот нюанс: то Android показывает вынужденную близко уведомления, и мы можем видеть в журналах:
01-17 11:23:39.767: E/AndroidRuntime(1359): Caused by: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings } from ProcessRecord{415415b8 1359:org.mozilla.gecko/10044} (pid=1359, uid=10044) not exported from uid 1000
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.os.Parcel.readException(Parcel.java:1327)
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.os.Parcel.readException(Parcel.java:1281)
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1624)
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.app.Activity.startActivityForResult(Activity.java:3190)
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.app.Activity.startActivity(Activity.java:3297)
01-17 11:23:39.767: E/AndroidRuntime(1359): at org.mozilla.gecko.sync.setup.activities.SetupSyncActivity.onResume(SetupSyncActivity.java:148)
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1154)
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.app.Activity.performResume(Activity.java:4539)
01-17 11:23:39.767: E/AndroidRuntime(1359): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2433)
01-17 11:23:39.767: E/AndroidRuntime(1359): ... 12 more
Итак, что вы можете сделать, это попытаться/поймать RuntimeException, поэтому он не всплывал , Кажется немного схематичны, но если вы хотите взломать, хорошо, это позволяет достичь желаемого результата ...
TL; DR: Мы можем запустить настройки для конкретной учетной записи, но потом страшно жаль-this- Появится диалог app-have-to-close.