针对SecurityException的处理方式

原创 2015年11月19日 09:48:36


情况一:

        在使用AIDL远程服务时,经常会遇到ERROR/AndroidRuntime(716): java.lang.SecurityException: Binder invocation to an incorrect interface这个错误,解决方法:在使用上请注意,服务端与客户端都要有相同的接口(使用到的),这里的“相同”是指完全相同,包括包名,也就是说要在不同工程下建立相同的包名。


一个是activity 的 ,一个是service 的。

在进行两个project通信时,应该有以下几点注意:
1.在activity project中引入service project中aidl文件。注意引入后的aidl文件包名应该和service中aidl文件包名保持一致。
2.service project中manifest文件中,service 注册时要声明 android:process=":remote"
action应该是aidl中接口的包名.接口名。

3.activity   bindService中一个serviceconnection对象对应的是一个service,否则会报java.lang.SecurityException: Binder invocation to an incorrect interface异常。

例如你原先在service中建立了一个    com.abc.service.test.aidl

那么你在要通信的 Activity 中要建立一个 com.abc.service.test.adil   即两者要对应。不要把test.adil 直接放在你activity的包中,重新见一个包,包名是com.abc.service 然后把test.aidl 放入去就OK

情况二:

当我们在别的应用内调用你某个程序的Activity有时候会发生这个错误:

 java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.siveco.bluebee.phone.supervisor/com.siveco.bluebee.core.activity.GetServerAddressActivity } from ProcessRecord{412d7170 1644:com.siveco.bluebee.project.productionfeedback/10056} (pid=1644, uid=10056) not exported from uid 10047

解决方式:在Activity节点上添加属性:android:exported="true"

情况三:

java.lang.SecurityException: ConnectivityService: Neither user 10037 nor current process has android.permission.ACCESS_NETWORK_STATE.

原因:SecurityException,显然是权限不够。

解决方案:在AndroidManifest.xml中,加入如下权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>












版权声明:本文为博主原创文章,未经博主允许不得转载。

Android6.0中设置权限时候的SecurityException异常的处理

说来也巧了,今天碰到了一个特别奇怪的问题。上午写了一个小demo其中有一个功能是获取通讯的,大家肯定知道这时候肯定要添加一个权限: 添加完后就开始运行了,竟然报错了, ...

android studio集成极光推送,获取附加字段详细,并提供自己写的一个demo,绝对不是官方demo

文章开始,先说明从这篇文章中能学到什么. 1,android studio如何加载极光推送的jar包和.so库文件. 2,如何获取附加字段里的键对应的值. 3,如何点击通知栏通知进入webView加载...

宽带入门的常见处理方式

  • 2011年12月13日 13:02
  • 25KB
  • 下载

深度学习训练中关于数据处理方式--原始样本采集以及数据增广

好久没有写博客,一直想重新调整自己的博客,想尽可能写的前后连贯一点,同时希望自己写的更通熟易懂些,可是迟迟没有动笔修改曾经的博文,哎,还是慢慢跟着自己的理解再修改之前的文章吧,今儿就写写关于深度学习训...
  • SMF0504
  • SMF0504
  • 2017年12月02日 18:37
  • 58

Java线程(八):锁对象Lock-同步问题更完美的处理方式

Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我...
  • ghsau
  • ghsau
  • 2012年04月14日 22:29
  • 96371

mysql错误以及处理方式

  • 2015年07月31日 15:33
  • 42KB
  • 下载

dotnet事务处理方式

  • 2011年11月09日 15:48
  • 10KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:针对SecurityException的处理方式
举报原因:
原因补充:

(最多只允许输入30个字)