是否可以动态地在AndroidManifest中添加提供者?
问题描述:
想知道是否可以在AndroidManifest中添加<provider>
元素,而不是在静态AndroidManifest中指定它?是否可以动态地在AndroidManifest中添加提供者?
我看到<receiver>
这样的东西是可能的,但无法找到运行时加入<provider>
。
答
想知道是否可以在代码中添加AndroidManifest元素,而不是在静态AndroidManifest中指定它?
不,对不起。最接近的事情是:
启用和经由
PackageManager
和setComponentEnabledSetting()
禁用组件(例如,活动)注册经由
registerReceiver()
一个BroadcastReceiver
,相对于它具有清单项
是否可以动态地在AndroidManifest中添加提供者?
不,对不起。
感谢您的快速回复!我正在尝试为我的库找到包含ContentProvider的解决方案。我只想为设备上安装的第一个应用启用此ContentProvider一次。使用这个库的其他应用程序应该首先应用ContentProvider,并且不要激活它们自己的提供程序。你认为这是可能的吗? – bianca
@bianca:不幸的是,Android会拒绝安装具有与其他应用程序的提供程序相同权限的“ContentProvider”应用程序,即使将要安装的应用程序的提供程序已禁用。所以,每个供应商都需要一个独特的权威。现在,可以想象的是,您仍然可以使用某种选举协议(在网络空间中有这样的例子)来完成这项工作,但是我没有花时间去弄清楚它是否会起作用,怎么样。 – CommonsWare