Android webview 遇到android.os.FileUriExposedException错误解决办法
Android webview 遇到android.os.FileUriExposedException错误解决办法
1. 在 Manifest 文件中添加:
<manifest ...>
<application ...>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
</application>
</manifest>
2. 创建 XML 文件: res/xml/provider_paths.xml
<?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-path name="external_files" path="."/> </paths>
3. 把获取文件URI代码替换成新的api:
...
imageUri = Uri.fromFile(createImageFile());
replace with :
File file = createImageFile();
imageUri = FileProvider.getUriForFile(mActivity, mActivity.getPackageName() + ".provider", file);
...
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android 7.0行为变更 FileUriExposedException解决方法
Android 7.0行为变更 FileUriExposedException解决方法 当我们开发关于[在应用间共享文件]相关功能的时候,在Android 7.0上经常会报出此运行时异常,那么Android 7.0以下没问题的代码,为什么跑到Android 7.0+的设备上运行就出问题了呢?,这主要来自于Android 7.0的一项[行为变更]! 对于面向 Android 7.0 的应用,Android 框架执行的 StrictMode API 政策禁止在您的应用外部公开 file:// URI
-
Android webview 遇到android.os.FileUriExposedException错误解决办法
Android webview 遇到android.os.FileUriExposedException错误解决办法 1. 在 Manifest 文件中添加: <manifest ...> <application ...> <provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.provider&
-
Android 模拟器(emulator-5554...)出现错误解决办法
Android 模拟器 出现错误解决办法: 1.Unable to get view server version from device exlipse下编写好android应用程序时候,右键项目 run as android application 弹出一对话框说出现问题 点击详细说 空指针异常.打开ddms模式, 里面提示 Unable to get view server version from device emulator-5554 ,此时我的android模拟器是运行着的. 解决
-
Caused by: android.os.NetworkOnMainThreadException错误解决办法
好久不写Android代码手都生了,找出自己之前写的程序发现跑不了了,也没啥特别的错误提示,就看到一句有用的错误Caused by: android.os.NetworkOnMainThreadException,查了下原因上在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太长造成程序假死的情况吧. 解决办法有两个思路,分别是: 第一种方法:直接忽视,强制使用(强烈不推荐,但是修改简单) 在MainActivity文件的setContentView(R.layout
-
Android 出现:java.lang.NoClassDefFoundError...错误解决办法
今天测试突然给我说我写的XX界面一点app就crash了! 纳尼,我肯定表示不服啊!怎么可能出现一点击就崩溃的情况呢,明明自己的测试了的! 然后我又用自己的测试机试了下没问题(Version:5.0.2),然后又使用crash的测试手机(Version:4.4),乖乖,居然是4.4才会出现的情况!(4.4以下没有验证哈!可能都会吧!!!) log显示: W/System.err: java.lang.NoClassDefFoundError: android/os/PersistableBund
-
Android webveiw 出现栈错误解决办法
Android webveiw 出现栈错误解决办法 前言: 最近做一个项目,项目调试基础库的一个调试工具展示设备信息页面使用WebView.有一个应用集成调试基础库展示内容时出现 java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes 因为应用是系统级别的,在AndroidManifest.xml中添加了android:sharedU
-
Android 中读取SD卡文件时抛出NullPointerException错误解决办法
Android 中读取SD卡文件时抛出NullPointerException错误解决办法 相关源码: package com.example.musicplayer; import java.io.File; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import
-
Android DaggerActivityComponent错误解决办法详解
Android DaggerActivityComponent错误解决办法详解 在使用dagger2的过程中,如果修改了某个类的内容,第一次编译运行时总会报错:错误: 找不到符号 符号: 类 DaggerActivityComponent 位置: 程序包 com--的错误,然后再重新编译一次,才会正常运行,经过仔细的检查终于找到问题的根源: 错误的原因是build.gradle(Module:app)引入'com.google.dagger:dagger-compiler:2.0.2'使用的是c
-
Android ScrollView无法填充满屏幕的解决办法
Android ScrollView无法填充满屏幕的解决办法 ScrollView滚动视图是指当拥有很多内容.屏幕显示不完时.需要通过滚动跳来显示的视图.Scrollview的一般用法如下 以下代码在Scrollview里面放了一个RelativeLayout.并且是设置为Android:layout_height="match_parent"填充全屏的和RelativeLayout里面放置了一个TextView背景设为了一张图片.按照代码理解.图片应该是居于屏幕的最下方的 <S
-
Android的EditText字数检测和限制解决办法
Android的EditText字数检测和限制解决办法 控件EditText在Android布局中经常用到,对EditText中输入的内容也经常需要进行限制,我们可以通过TextWatcher去观察输入框中输入的内容. public class TextWatcherDemo extends Activity { private TextView mTextView; private EditText mEditText; /** Called when the activity is firs
-
Android WebView或手机浏览器打开连接问题解决办法总结
Android WebView或手机浏览器打开连接问题解决办法总结 1.通常情况下 大家可能都想使用WebView打开网页内部链接而不想再调用手机浏览器, 我们可以通过以下两种方法实现: (1)为WebView设置一个WebViewClient,并重写shouldOverrideUrlLoading(WebView view, String url)方法. class MyWebViewClient extends WebViewClient { @Override public boolean
随机推荐
- php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
- SQL Server 2012 sa用户登录错误18456的解决方法
- 使用XQuery查询DB2 XML数据
- 15个postgresql数据库实用命令分享
- 使用ANT与YUI压缩js的实现方法
- java 日期各种格式之间的相互转换实例代码
- Java List转换成String数组几种实现方式详解
- ASP.NET 页面中加添加用户控件的写法
- JavaScript正则表达式验证中文实例讲解
- php购物车实现方法
- php 从一个数组中随机的取出若干个不同的数实例
- python分析nignx访问日志脚本分享
- mysql优化系列 DELETE子查询改写优化
- mysql 正确清理binlog日志的两种方法
- javascript解决innerText浏览器兼容问题思路代码
- 第十节--抽象方法和抽象类
- C#检测远程计算机端口是否打开的方法
- shell命令实现当前目录下多个文件合并为一个文件的方法
- 深入理解Java多线程与并发编程
- django rest framework 数据的查找、过滤、排序的示例
