解决 INSTALL FAILED CONFLICTING PROVIDER的问题方法

解决 INSTALL FAILED CONFLICTING PROVIDER的问题方法

在安装Android应用时出现INSTALL FAILED CONFLICTING PROVIDER问题,是不是感觉很抓狂呢,下面就跟大家分享一下出现这个问题的原因及解决方案。

问题原因

在Android中authority要求必须是唯一的,比如你在定义一个provider时需要为它指定一个唯一的authority。如果你在安装一个带有provider的应用时,系统会检查当前已安装应用的authority是否和你要安装应用的authority相同,如果相同则会弹出上述警告,并且安装失败。

解决方案

在定义provider是,使用软编码的形式,如下:

<provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:grantUriPermissions="true" android:exported="false"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider>

上述代码中通过${applicationId}.fileprovider的形式来指定provider的authorities,所以该provider的authorities会根据applicationId的不同而不同,从而避免了authorities的冲突问题。

那么如何使用刚才定义的authorities呢?

我们在定义authorities是采用了applicationId+fileprovider的形式,在获取authorities的时候,我们就可以通过包名+fileprovider来获取,代码如下:

public final static String getFileProviderName(Context context){ return context.getPackageName()+".fileprovider"; }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-10-29 19:16:47

解决 INSTALL FAILED CONFLICTING PROVIDER的问题方法的相关文章

warn-sparkR install failed

问题描述 sparkR install failed #R library(devtools) install_github("amplab-extras/SparkR-pkg", subdir="pkg") ########################################### following is part of the errors: ########################################## [warn] Mer

解决linux下vim中文乱码的方法_Linux

Vim编码的详细介绍 Vim和所有的流行文本编辑器一样,Vim 可以很好的编辑各种字符编码的文件,这当然包括 UCS-2.UTF-8 等流行的 Unicode 编码方式. Vim 有四个跟字符编码方式有关的选项,encoding.fileencoding.fileencodings.termencoding (这些选项可能的取值请参考 Vim 在线帮助  :help encoding-names),它们的意义如下:     1.encoding: Vim 内部使用的字符编码方式,包括 Vim 的

笔记本电脑通过驱动精灵解决显示器驱动已停止响应的方法

  笔记本电脑通过驱动精灵解决显示器驱动已停止响应的方法          1.打开驱动精灵,在百宝箱中点击打开"系统助手"; 2.点击"显示异常"分类下的"显示驱动停止响应"故障; 3.点击"立刻修复"按钮; 4.修复结束后点击立刻重启即可. 笔记本电脑出现显示器驱动已停止响应的问题,可以通过驱动精灵进行解决.

解决MySQL不允许从远程访问的方法

解决MySQL不允许从远程访问的方法 解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmwaremysql>use mysql; mysql>update

解决EXCEL2010折线图断线问题的方法二

在<在EXCEL2010中插入折线图>中我举了在EXCEL2010中插入了折线图的实例,实例中折线图出现了几处断线的问题,这是由于原始数据中2月.6月.9月没有数据,因此在折线图中出现断线的问题.在<解决EXCEL2010折线图断线问题的方法一>中我讲了用填写0来解决EXCEL2010中折线图断线的问题的方法. 设置折线图空白单元格连线 来源:王喆 如果不需要在折线图中显示每个月的销售收入而只反映收入走势的话,我们可以点选插入EXCEL2010中的折线图,在图表工具标签中选择设计,

解决Linux下U盘乱码的方法

  轻松解决Linux下U盘乱码的方法: 1.一般用这条命令: mount -o iocharset=utf8 /dev/sdb /tmp/fat 2.如若不行可试如下命令: mount /dev/sdb /mnt -t vfat -o codepage=936,iocharset=utf8 mount /dev/sdb /mnt -t vfat -o iocharset=utf8 mount /dev/sdb /mnt -t vfat -o codepage=936,iocharset=gb2

AngularJS解决ng界面长表达式(ui-set)的方法分析_AngularJS

本文实例讲述了AngularJS解决ng界面长表达式(ui-set)的方法.分享给大家供大家参考,具体如下: 本文来自网友sun shine的问题,问题如下:     您好, 我想求教一个问题.     在$scope中我的对象名字写的特别深, 在 html中我又多次用到了同一个对象, 对不对在 html中让它绑定到一个临时变量呢?     比如:     $scope.this.is.a.very.deep.obj = {     'name': 'xxx',     'state': 'ac

完美解决thinkphp验证码出错无法显示的方法_php实例

本文实例讲述了完美解决thinkphp验证码出错无法显示的方法.分享给大家供大家参考.具体分析如下: 今天做到验证码这一块,想到tp自带验证图片,大喜,但鼓捣半天不出来,一直是个小 X的样子. 官方提示如下:如果无法显示验证码,请检查: ① PHP是否已经安装GD库支持: ② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出): ③ Image类库是否正确导入: ④ 如果是中文验证码检查是否有拷贝字体文件到类库所在目录: 但是测试半天,不行!网上找来一个能用的方法,放到一个文件里执行可

解决php表单重复提交实现方法_php技巧

重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦. <?php /* * php中如何防止表单的重复提交 */ session_start(); if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库 $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次写入,为后面刷新或后退的判断做个铺垫 //...........