Android - 运行系统设置活动

时间:2017-07-17 11:47:56

标签: java android android-intent

如果我运行此代码

Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.android.settings",
            "com.android.settings.Settings$NotificationAppListActivity"));
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);

我明白了

PICTURE 1

相反,我希望startActivity(intent)打开当我点击"电话"时出现的活动。在列表中查看

PICTURE 2

我怎么能得到这个?感谢

3 个答案:

答案 0 :(得分:0)

试试这种方式

Intent intent = new Intent();
intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
intent.putExtra("app_package", getPackageName());
intent.putExtra("app_uid", getApplicationInfo().uid);
startActivity(intent);

答案 1 :(得分:0)

使用此:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));

答案 2 :(得分:0)

使用此..

Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

或编辑您的代码行2

Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.android.settings",
            "com.android.settings.Settings"));
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);

因为ComponentName方法获得2个参数1.包名称和2.类名ComponentName(String pkg, String cls)第一个,包名称正常但类名com.android.settings.Settings$NotificationAppListActivity表示您要打开{{ 1}}设置