天天看點

解決Android7.0相機 android.os.FileUriExposedException

調用拍照 系統Android 7.0 抛出FileUriExposedException。這是由于谷歌認為目标app可能不具有檔案權限,會造成潛在的問題。是以讓這一行為快速失敗。

android.os.FileUriExposedException: file:///storage/emulated/0/photo.jpeg exposed beyond app through ClipData.Item.getUri()

今天就以一種比較快的方式解決 VmPolicy方式

嚴格模式的一個方法:StrictMode.VmPolicy.Builder.detectFileUriExposure()。顧名思義,調用這個方法就會檢測FileUriExposure。

在Activity.onCreate加入如下代碼,置入一個不設防的VmPolicy:

1. // android 7.0系統解決拍照的問題  
  2. StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();  
  3. StrictMode.setVmPolicy(builder.build());  
  4. builder.detectFileUriExposure();   
           

這樣就可以解決調用相機這類問題