PendingIntent打开其他应用出现 SecurityException问题

来源:互联网 发布:美工对电商的意义 编辑:程序博客网 时间:2024/05/16 10:44
获取其它程序的Context,通过createPackageContext(String packageName,int flags)创建的这个Context,通过PendingIntent.getActivity()点击打开其他应用出现
SecurityException问题:

E/AndroidRuntime(17055): java.lang.SecurityException: Permission Denial: getIntentSender() from pid=17055, uid=10092, (need uid=10091) is not allowed to send as package com.tencent.mm
E/AndroidRuntime(17055):     at android.os.Parcel.readException(Parcel.java:1546)
E/AndroidRuntime(17055):     at android.os.Parcel.readException(Parcel.java:1499)
E/AndroidRuntime(17055):     at android.app.ActivityManagerProxy.getIntentSender(ActivityManagerNative.java:3907)
E/AndroidRuntime(17055):     at android.app.PendingIntent.getActivity(PendingIntent.java:291)
E/AndroidRuntime(17055):     at android.app.PendingIntent.getActivity(PendingIntent.java:252)

解决方法:
(1)在AndroidManifest.xml中增加:android:sharedUserId="android.uid.system"
(2)增加系统签名(或在Android.mk中增加LOCAL_CERTIFICATE := platform)

注意:当需要对非本应用进行操作需要用到Context对其他应用的操作,必须分清是否时其他应用的Context
1 0
原创粉丝点击