针对SecurityException的处理方式
来源:互联网 发布:cf冰龙刷枪软件 编辑:程序博客网 时间:2024/06/01 09:45
情况一:
在使用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"/>
- 针对SecurityException的处理方式
- 针对不同浏览器预览上传文件的处理方式
- Kubernetes 针对资源紧缺处理方式的配置
- ActivityGroup中错误 java.lang.SecurityException的处理
- Qt中针对比较耗时的工作防止界面假死的处理方式
- SecurityException
- 针对少量ip大量连接方式对网站攻击的简单处理方案(Apache mod_limitipconn, Iptalbles,dynfw)
- 针对error C1001的处理方法
- jquery针对table单元格的处理
- httpclient 针对文件和流的处理
- 一些针对时间处理的个人记录
- ThreadLocal、Synchronized针对多线程的处理
- 针对ThreadPool has stuck threads的处理
- selenium针对下拉菜单事件的处理
- 针对类型转换出错的处理
- 针对矩阵的一类动态规划处理
- 针对勒索病毒的数据库处理方法
- @ResponseBody针对Json中Date的处理
- Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念区分
- JAVA使用JDBC连接MySQL数据库
- Android 底部滑上滑下动画的Dialog及它的WindowManager.LayoutParams设置
- OC之Block块语法
- oracle 导入导出
- 针对SecurityException的处理方式
- 远程注入手段 及 内存操作
- cocoapods sources
- vc++中类型转化
- 设计模式:Java 建造者模式(Builder)
- Java正则表达式的语法与示例
- 用步进正弦激励法测量计算机声卡输出输入幅值频响函数
- [转载]复杂网络资源
- 怎么下载微信或优酷等网站的视频