如何打开主屏幕活动以在OPPO或其他手机中选择启动器



你好朋友,我正在开发启动器应用程序。 对于选择我的启动器作为家庭应用程序,三星中将显示一个弹出窗口。 通过使用此代码。

private void launchAppChooser() {
PackageManager packageManager = getPackageManager();
// get dummyActivity
ComponentName componentName = new ComponentName(context, DummyActivity.class);
// enable dummyActivity (it starts disabled in the manifest.xml)
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
// create a new (implicit) intent with MAIN action
Intent intent = new Intent(Intent.ACTION_MAIN);
// add HOME category to it
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// launch intent
startActivity(intent);
// disable dummyActivity once again
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
}

但此代码不适用于OPPO和华为。我使用以下行显示相同的弹出窗口以选择主启动器

startActivity(Intent.createChooser(intent,"Select Launcher App"));

此代码显示带有启动器应用程序的弹出窗口,但是当我单击任何应用程序时,它未设置为默认值。 我可以从OPPO中的设置中打开主屏幕活动以选择这样的默认启动器吗(请打开图像(。因为CM启动器应用程序正在打开此活动 单击此处打开图像 现在我想以编程方式打开此活动。并需要您的帮助来执行此操作。

要签入oppo设备,您必须检查当前默认的家庭应用程序包名称是否包含"oppo.launcher"

之后,使用它使用此代码。您可以在"oppo设备"中打开默认的家庭应用程序设置

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

这是将当前家庭应用程序更改为启动器应用程序的替代解决方案。此意图将用户重定向到 oppo 设备中的默认启动器应用程序列表。

相关内容

最新更新