1. ホーム
  2. アンドロイド

android.os.FileUriExposedException: file:///xxxx が ClipData.Item.getUri() によりアプリを超えて公開された。

2022-03-16 02:45:15
<パス

Androidのスクリーンショットを友達にシェアしているのですが、フラッシュバックしてしまいます。Logcatに出力されるエラーメッセージは、次の通りです: android.os.FileUriExposedException: file:///storage/emulated/0/UmeBrowser/sharepic/share_pic.jpg exposed beyond app through ClipData.Item.getUri(). やっぱり、またAndroidがおかしいのか。



解決策



ApplicationのonCreate()メソッド内で、以下のメソッドを呼び出すだけです。

// To fix the screenshot sharing friends error, this method must be called in onCreat
private void initPhotoError () {
    StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
    StrictMode.setVmPolicy(builder.build());
    builder.detectFileUriExposure();
}


もし同じ問題があれば、参考にしてください。また、なぜこの問題が発生するのかご存知の方は、私にコメントをいただき、一緒に勉強しましょう。