我正在寻找一种使用Intent在系统设置的Home选项中打开启动器列表屏幕的方法。
主要的系统设置 >> Home >> 启动器列表。
我需要使用Intent打开这个启动器列表屏幕。如果有人能指导我正确的方向,我会非常感激。非常感谢。
我正在寻找一种使用Intent在系统设置的Home选项中打开启动器列表屏幕的方法。
主要的系统设置 >> Home >> 启动器列表。
我需要使用Intent打开这个启动器列表屏幕。如果有人能指导我正确的方向,我会非常感激。非常感谢。
Settings.ACTION_HOME_SETTINGS
意图。但是,只有API 21及以上支持此功能。Settings.ACTION_SETTINGS
意图,用户必须自行导航到目标页面。(最好提前给出说明)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);
android.provider.Settings
是要使用的完全限定类。 - dazed