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

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

概述我愿意通过以下代码从另一个活动中禁用一个活动,但这会导致问题:杀死当前应用程序.   SDK版本为4.0.@OverridepublicvoidonCreate(BundlesavedInstanceState){PackageManagerpm=getPackageManager();pm.setComponentEnabledSetting(newComponentName

我愿意通过以下代码从另一个活动中禁用一个活动,但这会导致问题:杀死当前应用程序.
   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时必须格外小心,因为它可能导致不确定的行为.尤其是在活动试图禁用自身的情况下.如果您将另一个活动定位为目标,那应该没问题,但是我猜您要清除的活动位于

您对Componentname的调用似乎不正确.
您可能要调用新的Componentname(this.getApplicationContext(),testActivity.class).或者,您可以使用新的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导致异常,它可能会杀死当前应用程序?全部内容,希望文章能够帮你解决android-setComponentEnabledSetting导致异常,它可能会杀死当前应用程序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1211141.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存