android– 多个应用使用相同的内容提供商

android– 多个应用使用相同的内容提供商,第1张

概述我正在开发一组仅在某些品牌中有所区别的应用程序(想想不同的运动队);但是,我遇到了一个问题,我正在为所有特定品牌的应用程序使用一个Library项目,并希望为所有这些应用程序使用相同的ContentProvider.当我创建ContentProvider时,我将AUTHORITY声明为类中的常量(根据dev示例代码),

我正在开发一组仅在某些品牌中有所区别的应用程序(想想不同的运动队);但是,我遇到了一个问题,我正在为所有特定品牌的应用程序使用一个library项目,并希望为所有这些应用程序使用相同的ContentProvIDer.当我创建ContentProvIDer时,我将AUTHORITY声明为类中的常量(根据dev示例代码),并且我在清单文件中的每个特定应用程序中使用相同的权限.看起来我不能在每个应用程序中使用相同的权限,因为我在尝试安装第二个应用程序时遇到此错误(我安装一个品牌的应用程序,但第二个安装):

WARN/PackageManager(66): Can't install because provIDer @R_419_6889@ com.xxx.ProvIDer (in package com.xxx) is already used by com.zzz

我尝试过几种方法,但似乎没有一种方法可行.我还没有完成的一个想法是创建一个库jar,只省略我拥有的ProvIDer类,并在每个特定的应用程序中自定义它.关于如何解决这个问题而不诉诸于此的任何想法?

解决方法:

ContentProvIDers由权威机构识别,因此它必须是唯一的.我不认为有任何伎俩.

此外,AndroID平台中存在一个错误,该错误还会阻止对两个不同的ContentProvIDers使用相同的类名,即使它们具有不同的权限并且包含在单独的APK中.请参阅错误here.

我建议您使用的解决方案是在库项目中创建抽象提供程序类,然后在每个单独的应用程序中使用唯一名称对其进行扩展.为了实现这一点,您可能需要创建一个脚本来生成/修改单个清单和contentprovIDer类.

希望这可以帮助.

总结

以上是内存溢出为你收集整理的android – 多个应用使用相同的内容提供商全部内容,希望文章能够帮你解决android – 多个应用使用相同的内容提供商所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1103317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存