针对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"/>












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

相关文章推荐

错误解决: java.lang.SecurityException: Permission Denial

场景:  java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.siveco.bluebee.phone....

android5.1 增加ethernet设置(DHCP与Static ip)

android5.0以上的系统自带了ethernet service,默认开机就会启动,默认ip获取方式是动态分配,这里记录下android5.1增加ethernet设置界面设置ip获取方式及开关. ...

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

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

android 6.0运行时权限处理方式

android 6.0权限管理 android 6.0以前,用户安装app是一次性列出需要的权限,询问用户是否安装,只有当用户同意了之后,app才会安装。 而android6.0(API 级别 23)...

Github项目解析(十)-->几行代码快速集成二维码扫描库

本文将讲解一下我最近写的一个快速集成二维码扫描库,这里需要说明的是其核心的实现扫描的功能,是通过调用ZXing库实现的。内部App中使用到了二维码扫描功能,但是网上找了一些关于二维码扫描的例子,只是我...

Spring Security教程外篇(1)---- AuthenticationException异常详解

这个异常是在登录的时候出现错误时抛出的异常,比如账户锁定,证书失效等,先来看下AuthenticationException常用的的子类: UsernameNotFoundException 用户找...

JAVA常见异常解析

JAVA常见异常解析 --xyyan   1. java.lang.nullpointerexception   这个异常大家肯定都经常遇到,异常的解释是&quot;程序遇上了空指针&qu...

【已解决】Windows Service服务 出现System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可访问的日志: Security。

bat文件 内容为 %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe WindowsServiceTest.exe Net...

java.lang.SecurityException异常

Exception in thread "main" java.lang.SecurityException: class "org.eclipse.swt.widgets.UFCComposite"...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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