gpt4 book ai didi

android - setComponentEnabledSetting 导致异常,它可能会杀死当前应用程序?

转载 作者:太空宇宙 更新时间:2023-11-03 13:29:21 24 4
gpt4 key购买 nike

我愿意通过以下代码从另一个 Activity 中禁用一个 Activity ,但这会导致一个问题:终止当前应用程序。 SDK 版本为 4.0。

 @Override
public void onCreate(Bundle savedInstanceState) {
PackageManager pm = getPackageManager();

pm.setComponentEnabledSetting(newComponentName(this,
"com.xxx.launcher.desktop.testActivity"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);

是不是缺什么要设置?

最佳答案

你应该看看http://developer.android.com/reference/android/content/pm/PackageManager.html#DONT_KILL_APP

使用 PackageManager.DONT_KILL_APP 时必须小心,因为它可能导致未定义的行为。特别是如果该 Activity 试图禁用自身。如果您的目标是另一个 Activity 应该没问题,但我猜您要清除的 Activity 在

看起来您对 ComponentName 的调用不正确。您可能希望调用 new ComponentName(this.getApplicationContext(), testActivity.class)。或者你可以使用 new ComponentName("com.xxx.launcher.desktop","com.xxx.launcher.desktop.testActivity"),其中第一个参数是 AndroidManifest.xml 文件中的包,第二个是 ComponentName 的完整路径。查看以下 SO 问题,了解有关设置 ComponentName 的信息:When to use which constructor for ComponentName in Android?获取更多信息。

关于android - setComponentEnabledSetting 导致异常,它可能会杀死当前应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15264810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com