如何使用Intent在Android中以编程方式打开Home Launcher List设置屏幕



我正在寻找一种方法,使用Intent在系统设置的Home选项中打开Launcher列表屏幕。

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

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

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

API 20及以下版本需要调用Settings.ACTION_SETTINGS intent,并且用户必须导航其余部分。(最好事先有说明)

要在可用时提供最佳意图,请使用以下代码。这将直接在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);
}

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

  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);

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

Intent intent = new Intent(Settings.ACTION_HOME_SETTINGS);
startActivity(intent);

相关内容

  • 没有找到相关文章

最新更新