本文介绍了java.lang.SecurityException异常:权限被拒绝:开放商com.google.android.apps.photos.content.GooglePhotosImageProvider的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所有的突然,我开始从设备运行以下异常的Andr​​oid 4.3及以上

  java.lang.SecurityException异常:权限被拒绝:从ProcessRecord开放商com.google.android.apps.photos.content.GooglePhotosImageProvider {454ca9d0 5914:com.propertymanager / u0a10231}(PID = 5914,UID = 10231)要求com.google.android.apps.photos.permission.GOOGLE_PHOTOS或com.google.android.apps.photos.permission.GOOGLE_PHOTOS
        在android.os.Parcel.readException(Parcel.java:1431)
        在android.os.Parcel.readException(Parcel.java:1385)
        在android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2896)
        在android.app.ActivityThread.acquireProvider(ActivityThread.java:4755)
        在android.app.ContextImpl $ ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2480)
        在android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1152)
        在android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:759)
        在android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:665)
        在android.content.ContentResolver.openInputStream(ContentResolver.java:500)
        在com.myapp.xxxx.determineCorrectScale(的SourceFile:148)
 

我的code使得它

 公共静态INT determineCorrectScale(上下文CON,乌里imagUri){
        int标= 1;
        的InputStream的ImageStream = NULL;

                的ImageStream = con.getContentResolver()openInputStream(imagUri)。
。
。
。
    }
 

任何帮助??

编辑:这就是我如何让用户在调用上述方法之前,选择一个图片

 意图choosePictureIntent =新的意图(Intent.ACTION_PICK,Images.Media.INTERNAL_CONTENT_URI);
tartActivityForResult(choosePictureIntent,REQUEST_CHOOSE_IMAGE);
 

下面是OnActivityResult:

 保护无效onActivityResult(INT申请code,INT结果code,意图意图){
    super.onActivityResult(要求code,因此code,意图);
    如果(结果code == RESULT_OK){
        开关(要求code){
        案例REQUEST_CHOOSE_IMAGE:

            乌里selectedImage = intent.getData();

            尝试 {

                int标= CommonFunc.determineCorrectScale(这一点,selectedImage);
 

解决方案

你需要这个权限添加到你的清单:

 <使用-权限的Andr​​oid:名称=com.google.android.apps.photos.permission.GOOGLE_PHOTOS/>
 

希望这对你的作品。请给我一个反馈

All of the sudden, I started getting the following exception from devices running android 4.3 and above

java.lang.SecurityException: Permission Denial: opening provider com.google.android.apps.photos.content.GooglePhotosImageProvider from ProcessRecord{454ca9d0 5914:com.propertymanager/u0a10231} (pid=5914, uid=10231) requires com.google.android.apps.photos.permission.GOOGLE_PHOTOS or com.google.android.apps.photos.permission.GOOGLE_PHOTOS
        at android.os.Parcel.readException(Parcel.java:1431)
        at android.os.Parcel.readException(Parcel.java:1385)
        at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2896)
        at android.app.ActivityThread.acquireProvider(ActivityThread.java:4755)
        at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2480)
        at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1152)
        at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:759)
        at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:665)
        at android.content.ContentResolver.openInputStream(ContentResolver.java:500)
        at com.myapp.xxxx.determineCorrectScale(SourceFile:148)

My The code causing it is

    public static int determineCorrectScale(Context con, Uri imagUri) {
        int scale = 1;
        InputStream imageStream = null;

                imageStream = con.getContentResolver().openInputStream(imagUri);
.
.
.
    }

Any help??

EDIT:This is how I let the user pick a picture before calling the above method

Intent choosePictureIntent = new Intent(Intent.ACTION_PICK, Images.Media.INTERNAL_CONTENT_URI);
tartActivityForResult(choosePictureIntent, REQUEST_CHOOSE_IMAGE);

Here is the OnActivityResult:

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if (resultCode == RESULT_OK) {
        switch (requestCode) {
        case REQUEST_CHOOSE_IMAGE:

            Uri selectedImage = intent.getData();

            try {

                int scale = CommonFunc.determineCorrectScale(this, selectedImage);
解决方案

you need to add this permission to your manifest:

<uses-permission android:name="com.google.android.apps.photos.permission.GOOGLE_PHOTOS"/>

hope this works for you. please give me a feedback

这篇关于java.lang.SecurityException异常:权限被拒绝:开放商com.google.android.apps.photos.content.GooglePhotosImageProvider的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 02:04
查看更多