暗黙のインテントACTION_SENDを使用して、クロームブラウザからアプリケーションに画像を共有しようとしています。Permission openInputStream()を使用してクロム画像のコンテンツUriを読み込み中に拒否する
画像を検索共有しながら、アプリケーションがこのようなコンテンツURIと意図受け取り:コンテンツ://com.android.chrome.FileProvider/images/screenshot/1457448067808912906311.jpg
ContentResolverのとopenInputStreamを(使用コンテンツURIに関連付けられたバイトを読み込むために)、それはセキュリティ例外を投げるアプリがクラッシュ:許可拒否
は、ここでスタックトレースです:
Caused by java.lang.SecurityException: Permission Denial: opening provider org.chromium.chrome.browser.util.CompatibilityFileProvider from ProcessRecord{e2de807 31401:com.theteamie.android.app/u0a784} (pid=31401, uid=10784) that is not exported from uid 10060
at android.os.Parcel.readException(Parcel.java:1620)
at android.os.Parcel.readException(Parcel.java:1573)
at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3576)
at android.app.ActivityThread.acquireProvider(ActivityThread.java:4799)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2018)
at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1466)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1087)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:942)
at android.content.ContentResolver.openInputStream(ContentResolver.java:662)
at com.theteamie.android.app.activity.PostShareActivity.copyToLocalFile(PostShareActivity.java:141)
at com.theteamie.android.app.activity.PostShareActivity.processChosenFile(PostShareActivity.java:103)
at com.theteamie.android.app.activity.PostShareActivity.onCreate(PostShareActivity.java:72)
at android.app.Activity.performCreate(Activity.java:6259)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
これは、この機能をコーディングしたときに数日前に働いていました。私の回答は、このSO questionにあります。誰かがこの問題を引き起こしている可能性があることをお勧めしますか?
「これは数日前に働いていました」 - 確認するには、あなたが受け取ったときに「ウリ」を使用していますよね?この 'Uri'をデータベースなどのどこかに保存しておき、後でそれを使用しようとすると、この動作が期待されます。 – CommonsWare
はい、私は意図から受信したUriを使用しています。どこにも保存せず、後で使用します。 – Priya
袖口を外すと、Chromeの不具合のように感じます。 – CommonsWare