如何在 android 中以编程方式完成我的自定义启动器
How to finish my custom launcher Programmatically in android
我正在开发一个应用程序,我的要求是完成我的自定义启动器并切换到默认启动器。我怎样才能做到这一点?
按照以下步骤操作:
通过使用包管理器获取具有启动器和类别主页的意图。通过使用 queryIntents 方法。
使用第 0 个索引意图并获取 class 名称和包名称。将一些存储在其他地方,例如 sharedPreferences.
每当你想启动默认启动器时,只需使用 class 名称和打包程序名称创建意图。
然后在需要时启动 activity。
以下代码可能对您有所帮助:
PackageManager packageManager = getPackageManager();
Intent i = new Intent();
i.addCategory(Intent.CATEGORY_HOME);
i.setAction(Intent.ACTION_MAIN);
List<ResolveInfo> queryIntentActivities = packageManager
.queryIntentActivities(i, 0);
ResolveInfo resolveInfo = queryIntentActivities.get(0);
String packageName = resolveInfo.resolvePackageName;
String className = resolveInfo.activityInfo.targetActivity;
我正在开发一个应用程序,我的要求是完成我的自定义启动器并切换到默认启动器。我怎样才能做到这一点?
按照以下步骤操作:
通过使用包管理器获取具有启动器和类别主页的意图。通过使用 queryIntents 方法。
使用第 0 个索引意图并获取 class 名称和包名称。将一些存储在其他地方,例如 sharedPreferences.
每当你想启动默认启动器时,只需使用 class 名称和打包程序名称创建意图。
然后在需要时启动 activity。
以下代码可能对您有所帮助:
PackageManager packageManager = getPackageManager();
Intent i = new Intent();
i.addCategory(Intent.CATEGORY_HOME);
i.setAction(Intent.ACTION_MAIN);
List<ResolveInfo> queryIntentActivities = packageManager
.queryIntentActivities(i, 0);
ResolveInfo resolveInfo = queryIntentActivities.get(0);
String packageName = resolveInfo.resolvePackageName;
String className = resolveInfo.activityInfo.targetActivity;