gpt4 book ai didi

android - 尝试在运行 4.2 的设备上访问 Picasa 图像时出现安全异常

转载 作者:IT老高 更新时间:2023-10-28 23:36:06 26 4
gpt4 key购买 nike

在我的应用程序中,我让用户从图库中选择图像,并且在 4.2 之前执行此操作没有问题,但现在当我选择从我的 google+ 帐户同步的图像时,我猜这是 Picasa 图像我收到此错误

11-25 20:31:52.508: E/AndroidRuntime(17387): java.lang.RuntimeException: An error occured while executing doInBackground()
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.os.AsyncTask$3.done(AsyncTask.java:299)
11-25 20:31:52.508: E/AndroidRuntime(17387): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
11-25 20:31:52.508: E/AndroidRuntime(17387): at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
11-25 20:31:52.508: E/AndroidRuntime(17387): at java.util.concurrent.FutureTask.run(FutureTask.java:239)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
11-25 20:31:52.508: E/AndroidRuntime(17387): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
11-25 20:31:52.508: E/AndroidRuntime(17387): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
11-25 20:31:52.508: E/AndroidRuntime(17387): at java.lang.Thread.run(Thread.java:856)
11-25 20:31:52.508: E/AndroidRuntime(17387): Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.gallery3d.provider.GalleryProvider from ProcessRecord{42817d60 17387:com.tyczj.bowling/u0a10087} (pid=17387, uid=10087) requires com.google.android.gallery3d.permission.GALLERY_PROVIDER or com.google.android.gallery3d.permission.GALLERY_PROVIDER
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.os.Parcel.readException(Parcel.java:1425)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.os.Parcel.readException(Parcel.java:1379)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2530)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.app.ActivityThread.acquireProvider(ActivityThread.java:4460)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2002)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1101)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:708)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:614)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.content.ContentResolver.openInputStream(ContentResolver.java:449)
11-25 20:31:52.508: E/AndroidRuntime(17387): at com.tyczj.bowling.BowlersListFragment$LoadImage.doInBackground(BowlersListFragment.java:390)
11-25 20:31:52.508: E/AndroidRuntime(17387): at com.tyczj.bowling.BowlersListFragment$LoadImage.doInBackground(BowlersListFragment.java:1)
11-25 20:31:52.508: E/AndroidRuntime(17387): at android.os.AsyncTask$2.call(AsyncTask.java:287)
11-25 20:31:52.508: E/AndroidRuntime(17387): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
11-25 20:31:52.508: E/AndroidRuntime(17387): ... 4 more

所以我在 list 中输入了 com.google.android.gallery3d.permission.GALLERY_PROVIDER 但我仍然收到该错误,我还需要做什么?这是我第一次看到这个问题,在网上没有找到关于这个问题的信息。

如果这会成为问题,我可以让图库显示设备上的图像并排除 Picasa 图像吗?

就像我说的,我在 4.2 之前没有这个问题,或者可能与 最近的 google+ 更新有关?

编辑:

它只会在我退出应用程序并尝试重新启动后给我错误。因此,如果我在应用程序中并选择图像以显示第一次它可以正常工作,直到我退出。我将 Uri 存储在我的数据库中以在它启动时加载

这是我的 list 权限

<uses-permission android:name="com.tyczj.bowling.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER" />
<uses-permission android:name="android.permission.INTERNET" />

最佳答案

在我的应用程序中(也在 Android 4.2.x 中)实现 ACTION_SEND 和 ACTION_SEND_MULTIPLE 时遇到了类似的问题。如果我去画廊,选择一个或多个 Picasa 图片,然后选择“共享”,然后从选择器中选择我的应用程序,我的应用程序将抛出与上述相同的 SecurityException。任何尝试使用 ContentResolver 中的查询/加载方法都会抛出异常。

我也尝试添加 GALLERY_PROVIDER 权限,但没有帮助(另外,我查看了 Instagram 的 list ;它没有列出此权限)。

最后,一时兴起,我从我的实体中取出了 android:launchMode="singleTask",然后,瞧,一切正常。

我不知道为什么单任务应用会被禁止以这种方式共享。漏洞?特征?

关于android - 尝试在运行 4.2 的设备上访问 Picasa 图像时出现安全异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13558177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com