
我愿意通过以下代码从另一个活动中禁用一个活动,但这会导致问题:杀死当前应用程序.
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导致异常,它可能会杀死当前应用程序?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)