How to open Home Launcher List settings screen pro

2020-07-19 03:49发布

问题:

I am looking for a way to open a Launcher list screen in Home option in system Settings using Intent.

main system Settings >> Home >> Launcher List.

I need to open this Launcher list screen using Intent. If anyone could point me in the right direction I would really appreciate it. Thanks much.

回答1:

To bring up the home screen settings page, call the Settings.ACTION_HOME_SETTINGS intent. However this is ONLY supported in API 21 and above.

API 20 and below need to call the Settings.ACTION_SETTINGS intent, and the user must navigate the rest of the way. (Preferably with instructions before hand)

To provide the best intent when available, use the following code. This will open the home settings directly on API 21 and above, else it will open the settings page on API 20 and below.

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


回答2:

For those who want to open the default launcher apps settings activity you could use the following code

  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 intent = new Intent();
  intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
  Uri uri = Uri.fromParts("package", currentLauncherPackageName, null);
  intent.setData(uri);
  startActivity(intent);

In case you need to instruct the user to disable default launcher app before selecting your app



回答3:

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