Android 权限拒绝:启动意图需要<;包装名称>;

Android 权限拒绝:启动意图需要<;包装名称>;,android,permissions,remote-access,permission-denied,openvpn,Android,Permissions,Remote Access,Permission Denied,Openvpn,我无法通过AIDL从另一个应用程序(我在Eclipse中有两个应用程序项目)运行服务。每次使用接口中的方法时,我都会得到: java.lang.SecurityException: Permission Denial: starting Intent {cmp=de.blinkt.openvpn/.api.GrantPermissionsActivity } from ProcessRecord{42cfd9c0 22519:com.xxx/u0a10093} (pid=22519, uid=

我无法通过AIDL从另一个应用程序(我在Eclipse中有两个应用程序项目)运行服务。每次使用接口中的方法时,我都会得到:

java.lang.SecurityException: Permission Denial: starting Intent
{cmp=de.blinkt.openvpn/.api.GrantPermissionsActivity } from ProcessRecord{42cfd9c0 
22519:com.xxx/u0a10093} (pid=22519, uid=10093) requires de.blinkt.openvpn.REMOTE_API.

我到处找了,没有找到任何可行的答案。如何修复它?

要使用您首先需要调用的API:

/** This permission framework is used  to avoid confused deputy style attack to the VPN
     * calling this will give null if the app is allowed to use the external API and an Intent
     * that can be launched to request permissions otherwise */
    Intent prepare (String packagename);
您的舱单中需要有:

<!-- Copy the <permission> block to your app when using the REMOTE API. Otherwise OpenVPN for
    Android needs to be installed first -->
<permission
    android:name="de.blinkt.openvpn.REMOTE_API"
    android:description="@string/permission_description"
    android:label="Control OpenVPN"
    android:permissionGroup="android.permission-group.NETWORK"
    android:protectionLevel="dangerous" />

<uses-permission android:name="de.blinkt.openvpn.REMOTE_API">


请注意该权限之前的注释…

发布导致问题的代码。仅仅发布错误是不够的。我不知道代码的哪一部分会有帮助。外部应用程序清单中的GrantPermissionActivity:那么您是否在避免方面出错?至少,两个AndroidManifest.xml文件如何。@mglisty:stacktrace的内容将比您发布的内容更多。确定logcat中引用了代码的哪一部分,并发布该代码。会提到com.yourpackage.yourclass该死,我刚刚删除了权限,它成功了。现在我有:“11-14 13:06:48.009:W/ActivityManager(513):无法启动服务意图{act=de.blinkt.openvpn.api.IOpenVPNStatusCallback}U=0:not found”错误,当我尝试连接IOpenVPNStatusCallback时。谢谢,问题已经解决。顺便问一下:你知道如何注册IOpenVPNStatusCallback吗?这不是另一种服务,我有点困惑。当然。只需执行private IOpenVPNStatusCallback mCallback=new IOpenVPNStatusCallback.Stub(){@Override public void newStatus[…]并调用registerStatusCallback(mCallback)