今天碰到了個(gè)奇怪的問題,在調(diào)用相機(jī)時(shí)閃退了盔憨,此時(shí)寶寶的內(nèi)心是崩潰的??蜻牢,還好在費(fèi)了九牛二虎之力后最終把它給解決了罪既,步驟如下:
步驟一:
在Manifest文件中加上這么一句話
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.packagename.fileProvider"
android:grantUriPermissions="true"
android:exported="false">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
注意了:
packagename改為自己的包名,如com.google.news
步驟二:
在res目錄下新建文件夾xml汇在,然后在xml文件夾下新建名為file_paths的xml文件
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path
name="external_files"
path="." />
</paths>
步驟三:
把之前的Uri.fromFile
改為
FileProvider.getUriForFile(context,
context.packageName + ".packagename.fileProvider", file)
注意:packagename仍然要改為自己的包名翰萨,別忘了packagename前面的.
,這里主要和Manifest文件中聲明的android:authorities
保持一致
最后注明:
此方法為API24所有糕殉,所以如果minSdkVersion
小于24的話要做判斷亩鬼,判斷方法如下:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
} else {
}
改完之后會(huì)發(fā)現(xiàn)此時(shí)又可以愉快的玩耍啦??!0⒌雳锋!