EC8*_*4B4 4 android ipc aidl android-service
我有一个aidl服务正常工作,直到安装客户端之前安装主机,但正如我在标题中提到的那样,当主机没有安装时我安装了客户端,之后我安装主机我得到了一个SecurityException在bindService()上
Intent serviceIntent = new Intent(AidlService.class.getName());
if (!mContext.getPackageManager().queryIntentServices(serviceIntent, 0).isEmpty()) {
mContext.bindService(serviceIntent, mServiceConn, Context.BIND_AUTO_CREATE);
}
Caused by: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.mypackage.AidlService}
Run Code Online (Sandbox Code Playgroud)
我还测试了一些使用aidl的应用程序,他们遇到了同样的问题!
UPDATE
我发现问题是有权限的,因为我的服务使用自定义权限时,在主机之前安装客户端它无法理解权限,所以当我安装主机并尝试绑定到它时,android不能使用权限,所以它会引发安全异常!
android:permission="com.mypackage.AidlService.BIND"
<permission android:name="com.mypackage.AidlService.BIND"
android:label="@string/perName"
android:description="@string/perDesc"
android:protectionLevel="normal" />
Run Code Online (Sandbox Code Playgroud)
有什么想法来解决这个问题吗?
| 归档时间: |
|
| 查看次数: |
1089 次 |
| 最近记录: |