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
随机推荐
- 比较SQL Server与Oracle、DB2
- 基于mysql时间处理函数的应用详解
- Vue.Js中的$watch()方法总结
- 新手入门:C++下的引用类型
- php检测mysql表是否存在的方法小结
- JSP中动态include与静态include的区别介绍
- jQuery Tips 为AJAX回调函数传递额外参数的方法
- C# 设计模式系列教程-单例模式
- JavaScript 复制功能代码 兼容多浏览器
- JavaScript对数字的判断与处理实例分析
- 网站下载文件时 地址加jdfwkey=的说明
- Nginx屏蔽F5心跳日志、指定IP访问日志
- java网上图书商城(6)订单模块1
- PHP模板引擎Smarty内建函数详解
- Android应用图标在状态栏上显示实现原理
- Vue 动态组件与 v-once 指令的实现
- JS实现获取毫秒值及转换成年月日时分秒的方法
- java并发之AtomicInteger源码分析
- 易语言删尾空的方法
- Linux下mysql 8.0.15 安装配置图文教程以及修改密码