无法在Android 14中禁用Android组件

问题描述 投票:0回答:1

我正在尝试使用下面的代码从我的系统应用程序的服务类中禁用 Android 组件。它在 A13 及更早版本中工作正常,但它不会禁用 A14 中的组件。

我还在清单中添加了

<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
,但仍然面临同样的问题。 A14 是否需要进行任何具体更改?我检查了文档但找不到相关更改。我还尝试将 targetSdkVersion 设置为 34 和 33,但它没有解决问题并出现异常
java.lang.IllegalArgumentException: Component class com.android.internal.app.ChooserActivity does not exist in android

ComponentName appChooser = new ComponentName(
                "android",
                "com.android.internal.app.ChooserActivity");

mPackageManager.setComponentEnabledSetting(appChooser, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
android android-package-managers android-14 android-components android-os-handler
1个回答
0
投票

Android 14 中 ChooserActivity 的路径似乎已更改。如下所示更新组件详细信息解决了我的问题。

ComponentName appChooser = new ComponentName(
                                        "com.android.intentresolver",
                                        "com.android.intentresolver.chooser.ChooserActivity");
mPackageManager.setComponentEnabledSetting(appChooser,
                                        PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                                        PackageManager.DONT_KILL_APP);
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.