6

我正在寻找一种使用 Intent 在系统设置中的主页选项中打开启动器列表屏幕的方法。

主系统设置>>首页>>启动器列表。

我需要使用 Intent 打开此启动器列表屏幕。如果有人能指出我正确的方向,我将不胜感激。非常感谢。

4

3 回答 3

7

要调出主屏幕设置页面,请调用Settings.ACTION_HOME_SETTINGS意图。但是,这仅在 API 21 及更高版本中受支持。

API 20 及以下版本需要调用Settings.ACTION_SETTINGS意图,用户必须在剩下的过程中导航。(最好事先有说明)

要在可用时提供最佳意图,请使用以下代码。这将直接在 API 21 及更高版本上打开主页设置,否则它将在 API 20 及更低版本上打开设置页面。

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
    final Intent intent = new Intent(Settings.ACTION_HOME_SETTINGS);
    startActivity(intent);
}
else {
    final Intent intent = new Intent(Settings.ACTION_SETTINGS);
    startActivity(intent);
}
于 2016-09-14T09:31:40.157 回答
2

对于那些想要打开默认启动器应用程序设置活动的人,您可以使用以下代码

  PackageManager localPackageManager = getPackageManager();
  Intent intent = new Intent("android.intent.action.MAIN");
  intent.addCategory("android.intent.category.HOME"); 
  final String currentLauncherPackageName = localPackageManager.resolveActivity(intent,
            PackageManager.MATCH_DEFAULT_ONLY).activityInfo.packageName;
  
  Intent intent2 = new Intent();
  intent2.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
  Uri uri = Uri.fromParts("package", currentLauncherPackageName, null);
  intent2.setData(uri);
  startActivity(intent2);

如果您需要在选择您的应用程序之前指示用户禁用默认启动器应用程序

于 2018-03-27T16:24:03.277 回答
1
Intent intent = new Intent(Settings.ACTION_HOME_SETTINGS);
startActivity(intent);
于 2016-07-17T12:41:31.957 回答