Android 用FileProvider获得的URI无法安装APK 40C

环境:Android 版本8.0
startActivity(intent);运行后弹出空白界面,然后马上退回去,应该是找不到路径

错误代码:android.content.res.Resources$NotFoundException: Resource ID #0x0

文件路径:/storage/emulated/0/Android/data/com.example.system.myapplication/files/Download/shoujizhushou_85.apk

uri路径:content://com.example.system.myapplication.fileprovider/mydownload/shoujizhushou_85.apk

配置文件:
图片说明

图片说明

图片说明

弄了一天,都是按网上资料去弄的。

1个回答

自己搞定了,少了权限

A5201591
梦北-1 少了什么权限呢? 建议补充到本博客中, 给你点赞!!!
大约 2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android 使用FileProvider 兼容apk 在7.0版本无法安装
源头 都是因为一个bug android.os.FileUriExposedException: file:///storage/emulated/0/mwh/app.apk exposed beyond app through Intent.getData() 因为这个bug 显示 原来的 apk安装方法无法在高于7.0 的手机系统上安装apk了。 所以就得需要使用FileProv
Uri权限问题&&FileProvider学习
今天用andriod 6.0的手机运行某个项目,进入主页面弹出更新弹窗,点击更新,发现任务栏下载完毕后点击安装时崩溃了,也没有错误日志,搜了半天终于发现问题所在。原来,从android 7.0开始,不再支持file://类型的URI了,若要共享文件得使用FileProvider,所以在文件共享这块,需要做适配了。示例代码:if (Build.VERSION.SDK_INT>=Build.VERSIO
如何解析Fileprovider返回的uri
4.4之后直接启动系统doumentui, Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.setType("audio/*"); Intent intent1 = Intent.createChooser(intent, "yinyue"); startActivityFo...
android apk无法安装及闪退问题
app在部分手机上(低版本)打不开或打开就闪退的问题 之前做项目集成的是 环信的sdk ,环信的sdk 确实很好,客服 也很给力。但是在集成的过程中发现,apk 在手机上发布不了,要么就是,安装了 打不开,打开就闪退:问题有一下两方面 1.之前做过一个环信的即时通讯,集成好环信的sdk之后在4.x的手机上就打开就闪退,,只能在5.x和6.x手机上打开app 2.最近又碰到了同样的问题不过这次...
Android Studio 无法安装APK到小米手机
Eclipse转到Android Studio遇到了第一个坑 自己的小米手机安装应用报  “ Failed to establish session Error while Installing APKs ” 。 查了半天才发现这个问题。。。关闭MIUI开发者选项中的MIUI优化并重启!
Android生成APK后无法安装。
生成APK后,在真机上无法安装,手机直接插电脑上调试是没有问题的。卸载了以前的版本也还是无法安装,这是为啥呢
根据Uri获取File绝对路径(兼容fileprovider)
/** * 获取url对应的绝对路径 * @param context * @param uri * @return */ public static String getRealFilePath(Context context, Uri uri) { if (null == uri) return null; final String scheme = uri.g...
Android FileProvider 属性配置详解及FileProvider多节点问题
众所周知在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile来获取uri了我们需要适配7.0+的机型需要这样写:1:代码适配 if (Build.VERSION.SDK_INT > 23) {// intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); ...
android apk异常卸载后无法安装的解决办法
手机先获取root权限,然后cmd进入命令行,输入adb shell,回车; cd data/data,回车进入到该文件夹目录; rm -rf 包名  回车
Android模拟器安装apk显示无法安装
我在Android模拟器上安装apk时后出现上面的错误提示:但是安装有些apk却可以正常安装,这是由于安装的APP中使用了与当前CPU架构不一致的native libraries,所以导致报错,因为现在绝大多数的智能手机还都是采用ARM架构的,虽然android是支持ARM和x86架构,但是它们的指令集是有差别的,APP在开发的时候使用的是ARM的本地库,而我们在用AVD创建模拟器的时候使用的是x8
Android Studio 3.0 APK安装包损坏无法安装
第一次记录下自己决解的小问题,在打包成功以后把安装包放到真机中时,出现如下问题:于是就各种在网上搜方法,我结合了两个方法就成功了!!解决如下图:1.Instant Run默认是勾上的,把它取消了。2.在生成APK的时候,勾上V1,V2然后问题就解决了,做好记录哈哈哈。...
解决Android studio编译的APK无法安装的问题
第一步:点击Android Studio侧边栏的Gradle按钮,如下所示 第二步:刷新下Gradle的配置 第三步:重新编译即可,不会再报错。
Android Studio debug apk文件无法安装到真机
我用的是AS3.0  用OPPOR9做的测试机,APP从AS可以直接运行到手机上,但是把output文件下的debug.apk 文件拷出来,运行到手机上就出现了文件损坏的警告,无法安装,搜了很久,最后把签名后apk文件导出来,就能运行了。   还有一个签名问题,Androidstudio2.2之前的貌似没有以下画圈的部分   Android 7.0 引入一项新的应用签名方案 APK S...
[Android][as][error]使用adb无法安装apk的问题解决
android studio使用adb无法安装apk的问题解决 最近在写一个简单的锁屏程序,但是中间隔了几天,改了一下root file name,结果android studio怎么都安装不上apk。报了如下的错误。 我就纳闷了。。。这是怎么出来的问题,然后就是漫长的找问题的过程。报错问题说我的设备已经安装了这个apk,但是我找了一下手机的app的包目录,并没有这个残留。 ...
genymotion模拟器无法安装apk
原因是:新版Genymotion移除了对ARM library的支持 下载如下链接的zip文件 http://pan.baidu.com/s/1hsAxUeC 直接把zip文件拖入模拟器安装即可,重启后即可正常安装apk
ProGuard 代码混淆 APK无法安装
我用ProGuard做了代码混淆,用反编译工具看了混淆后生成的apk,确实混淆后函数名都变化了,但问题是混淆后生成的apk没法在手机上安装运行了,安装不了。请问是怎么回事呢?谢谢rnrn我是想测试这个混淆功能,所以工程很简单,就一个helloAndroid,没有其他应用,按照网上说的方法,在default.properties文件里面添加上了proguard.config=proguard.cfg这句话。
Android7.0版本更新无法安装apk
权限   在适配7.0手机的时候,发现部分手机下载到最新版本以后,无法自动安装问题.   通过查找才发现, 在AndroidAPI23以后, 部分权限要动态获取. 也就是说在下载前需要动态获取文件的读写权限,在小米5适配出现这样问题   从前几届谷歌大会,我们可以知道, 随着android版本越高 , android对于移动设备隐私的保护力度越来越大, 从Android6.0引入动态权限控制到An...
解决问题-APK无法安装到手机
问题现象: 在Android studio上编译运行能通过,在虚拟机上也能运行,但当把APK文件通过数据线安装到手机上时,无法成功安装,并在Run窗口中显示一大串红色错误提示,拔了数据线重插现象依旧。 问题起因: 将手机上最开始安装的此APK软件卸载了,再通过Android studio安装无法正常安装。 解决方法: 将手机(小米8青春版)切换分身,意外发现分身系统中依旧存在之前最开始安...
Android 签名APK获得系统权限
通过重新签名Apk,使之获得系统权限,无需在服务器上来进行编译
《Android 基础(四十七)》FileProvider
简介 FileProvider,是ContentProvider的子类,通过构建以”content://”开头的Uri取代之前以”file://”开头的Uri,以此实现应用间的文件共享。 由来 官文Android7.0行为变更说明: 对于面向 Android 7.0 的应用,Android 框架执行的 StrictMode API 政策禁止在应用外部公开 file:// URI。如果一...
Android:根据Uri获得Image的绝对路径
/** * 根据uri获得Image的绝对路径 * * @author BiHaidong * */ public static String getImageAbsolutePath(Activity context, Uri imageUri) { if (context == null || imageUri == null) return null;
FileProvider
FileProvider的一个练习Demo
Android根据 uri 获得文件真实路径
一个android文件的Uri地址一般如下: content://media/external/images/media/xxxxx 这是一张图片的Uri,根据这个Uri获得其在文件系统中的路径: public static String getFilePathFromUri(Context context, Uri uri) { if (null == uri) ...
Android Uri
android uri的一些理解资料,比较全面的关于uri的解释,可作参考。
Cursor工具类,用于支持根据列名取得对应的值
/* * @(#)CursorUtil.java Project:UniversityTimetable * Date:2013-1-21 * * Copyright (c) 2013 CFuture09, Institute of Software, * Guangdong Ocean University, Zhanjiang, GuangDong, China
如何获得uri ??
test.htmlrn-----------------rnrnrnrnrn rnrnrnrnrntext.jsrn---------------------rnalert(document.location.href);rnrnrnrn我想在text.js中获得community参数,rnrn但不知如何获得test.js?community=abcrnrn
eclipse连接真机调试,无法安装apk
通过USB连接手机,然后准备将手机app下载到真机上进行调试,但是无法安装rnrn具体的错误信息如下,请各位给出指点rn[2016-11-10 13:44:57 - ATPManagementSystem] ------------------------------rn[2016-11-10 13:44:57 - ATPManagementSystem] Android Launch!rn[2016-11-10 13:44:57 - ATPManagementSystem] adb is running normally.rn[2016-11-10 13:44:57 - ATPManagementSystem] Performing com.crsc.atpmanagementsystem.LoginActivity activity launchrn[2016-11-10 13:45:00 - ATPManagementSystem] Uploading ATPManagementSystem.apk onto device '0123456789ABCDEF'rn[2016-11-10 13:45:00 - ATPManagementSystem] Installing ATPManagementSystem.apk...rn[color=#FF0000][2016-11-10 13:45:01 - ATPManagementSystem] Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLErn[2016-11-10 13:45:01 - ATPManagementSystem] Please check logcat output for more details.rn[2016-11-10 13:45:01 - ATPManagementSystem] Launch canceled![/color]rnrn
完美解决无法安装APK小工具
【原创】完美解决安卓手机无法安装复制system拷贝修改的Apk
解决 Genymotion 下无法安装apk的问题
An error occured while deploying the file. This probably means that the app contains ARM native code and your Genymotion device cannot run ARM instructions. You should either build your native code t
ViVO 8.0+手机无法安装apk
无法正常安装apk,听说要加未知来源权限,我靠,到底在哪加啊?
Android 应用间共享文件(FileProvider)
在 Android 7.0 中调用系统相机拍照,通过SD卡获取原图,抛出FileUriExposedException异常 从 Android 7.0 开始,应用间共享文件时,如果使用 file://格式的 Uri,就会抛出 FileUriExposedException。 谷歌官方推荐,使用 FileProvider 来生成一个 content://格式的Uri。
7.0不通过FileProvider解决调用相机给uri问题异常
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//严格模式 StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build());}
如何在7.0以上读取FileProvider提供的URI
从Android7.0开始,安卓系统禁止应用间分享file开头的URI,并提供了FileProvider作为标准的应用间文件分享方式。 关于FileProvider有很多的文章都有讲解,主要说的是FileProvider用法,如何来替代Uri.fromFile(file)。通过FileProvider分享的URI类似这样的content://com.armp.axplor.fileprovider...
Android apk获得系统权限签名工具
Android apk获得系统权限签名工具
URI与URL,Android中的Uri的区别
首先,URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。而URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java-ne
怎么获得指定文件夹的URI?
String a="file://"+Environment.getExternalStorageDirectory().getPath()rn+"/DCIM/image/";rnUri uri =Uri.parse(a) ;rn我是这样写的 但是不行 该怎么写呢?rn
Android之ContentProvider(二):Uri对象的内容URI
不同于SQLiteDatabase,ContentResolver中的增删改查方法都是不接收表名参数的,而是使用一个Uri参数代替,这个参数被称为内容URI。 内容URI 内容URI给内容提供器中的数据建立了唯一标识符。它主要由两部分组成,权限(authority)和路径(path)。权限是用于对不同的应用程序做区分的,一般为了避免冲突,都会采用程序包名的方式来进行命名。比如某个程序的包名是co
Android 自带的一些系统查询用URI
联系人 ContactsContract.Contacts.CONTENT_URI ————管理联系人 这个一般用到的列有 ContactsContract.Contacts._ID; ——– 获取联系人ID ContactsContract.Contacts.DISPLAY_NAME; ——– 获取联系人名字 ContactsContract.
android Uri parse(String uri) 文档在那里?
Intent it = new Intent();rn it.setData(Uri.parse("smsto:5554"));rn it.setAction(Intent.ACTION_SENDTO);rn it.putExtra("sms_body", "hello yl!");rnrnrn大家都知道 上述程序是调用一个 短信的程序rnrnrn但是我很疑惑:it.setData(Uri.parse("这里的内容是定义的?文档在那?");rn it.putExtra("这里的那部的的文档在哪里?google 没给出这里能写写什么吗?", "hello yl!");rnrn我有读 Uri 的文档 说是 没限定 输入的字符,随便传入任何字符串都不抱错,但是返回的Uri 常是无效的, 如果要用这个 Uri 得到 资源地址, 需要输入 特定的 字符串,但是 找很就不知道可以输入的字符串的 文档在那?rnrn综上: 求 使Uri 有效的输入字符串 的文档 在android 文档的位置?rn求it.putExtra("sms_body", "hello yl!"); 的第一个参数的 有效输入的定义 文档位置?
Android Studio 3.0 编译出来的apk无法安装问题解决
问题:直接在手机里运行可以正常运行,但是运行出来的apk给别人安装的时候提示该安装包似乎已损坏 解决:apk文件生成,使用Build -> Build Apk(s)  
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数

相似问题