ActivityManager: java.lang.SecurityException 问题

本文探讨了Android应用中重复定义Activity导致的Java.lang.SecurityException问题,通过实例解析并提供解决方案,帮助开发者避免此类错误。此外,文章还提到了此问题可能引发的应用图标显示异常现象。

======================================================
注:本文源代码点此下载
======================================================

最近在调试程序的时候经常出现activitymanager: java.lang.securityexception: permission denial: starting intent { act=android.intent.action.main cat=[android.intent.category.launcher] flg=0x10000000 cmp=com.xxxxx.xxxxx/.ui.xxxxxxx } from null (pid=-1, uid=-1) requires null的问题,困扰我好几天了,一开始只是认为权限的问题,跟了好久一直没有解决。

后来看到:

the java.lang.securityexception you are seeing is because you may enter two entries pointing to same activity. remove the second one and you should be good to go.

才发现这个activity在manifest文件里写了两份,去掉一份后,终于可以正常运行了。

注:此问题还会引起,在手机端点击程序图标时,会提示程序未安装在手机上。

padding-top: 10px;padding-right: 10px;padding-bottom: 10px;padding-left: 100px;

background: url(http://images.cnblogs.com/cnblogs_com/gnagwang/238585/r_1.png) #e5f1f4 no-repeat 1% 50%;

font-family: 微软雅黑; font-size:11px;">

作者:gangwang

出处:http://www.cnblogs.com/gnagwang/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

绿色通道:好文要顶关注我收藏该文与我联系


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
AndroidRuntime: Shutting down VM 03-17 17:55:00.894 1455 1524 W ActivityManager: pid 3552 com.silead.factorytest sent binder code 2 with flags 2 to frozen apps and got error -1 03-17 17:55:00.894 3552 3552 E AndroidRuntime: FATAL EXCEPTION: main 03-17 17:55:00.894 3552 3552 E AndroidRuntime: Process: com.silead.factorytest, PID: 3552 03-17 17:55:00.894 3552 3552 E AndroidRuntime: java.lang.SecurityException 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at android.os.BinderProxy.transactNative(Native Method) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at android.os.BinderProxy.transact(BinderProxy.java:676) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at vendor.xiaomi.hardware.fx.tunnel.IMiFxTunnel$Stub$Proxy.setNotify(IMiFxTunnel.java:164) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at com.silead.manager.FingerManager.getIFingerService(FingerManager.java:137) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at com.silead.manager.FingerManager.testCmdInternal(FingerManager.java:483) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at com.silead.manager.FingerManager.testCmd(FingerManager.java:498) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at com.silead.manager.FingerManager.testSpi(FingerManager.java:186) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at com.silead.factorytest.AutoTestActivity$2.handleMessage(AutoTestActivity.java:245) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:107) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:249) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at android.os.Looper.loop(Looper.java:337) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:9558) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:648) 03-17 17:55:00.894 3552 3552 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)
03-20
06-05 06:24:05.669 5900 5900 D AndroidRuntime: Shutting down VM 06-05 06:24:05.672 5900 5900 E AndroidRuntime: FATAL EXCEPTION: main 06-05 06:24:05.672 5900 5900 E AndroidRuntime: Process: com.avatr.cockpit.settings, PID: 5900 06-05 06:24:05.672 5900 5900 E AndroidRuntime: java.lang.RuntimeException: Unable to create application com.avatr.cockpit.settings.CockpitSettingsApplication: java.lang.SecurityException: Permission Denial: Component com.avatr.cockpit.settings/.service.SettingsService requests FLAG_SINGLE_USER, but app does not hold android.permission.INTERACT_ACROSS_USERS 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7107) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2305) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:218) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.os.Looper.loop(Looper.java:307) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8309) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:573) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: Caused by: java.lang.SecurityException: Permission Denial: Component com.avatr.cockpit.settings/.service.SettingsService requests FLAG_SINGLE_USER, but app does not hold android.permission.INTERACT_ACROSS_USERS 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.os.Parcel.createExceptionOrNull(Parcel.java:3079) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.os.Parcel.createException(Parcel.java:3063) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:3046) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2988) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.IActivityManager$Stub$Proxy.startService(IActivityManager.java:6047) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1931) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.ContextImpl.startService(ContextImpl.java:1900) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.content.ContextWrapper.startService(ContextWrapper.java:825) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at com.avatr.cockpit.settings.CockpitSettingsApplication.onCreate(CockpitSettingsApplication.java:20) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1316) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7102) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: ... 9 more 06-05 06:24:05.672 5900 5900 E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace: 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at com.android.server.am.ActivityManagerService.isSingleton(ActivityManagerService.java:13546) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at com.android.server.am.ActiveServices.retrieveServiceLocked(ActiveServices.java:4394) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at com.android.server.am.ActiveServices.startServiceLocked(ActiveServices.java:833) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at com.android.server.am.ActiveServices.startServiceLocked(ActiveServices.java:794) 06-05 06:24:05.672 5900 5900 E AndroidRuntime: at com.android.server.am.ActivityManagerService.startService(ActivityManagerService.java:13415) 06-05 06:24:05.672 5900 5900 E AndroidRuntime:
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值