如何获取平板电脑上所有用户的内容提供者列表
How to get list of content providers for all users on a tablet
我可以使用以下代码获取平板电脑上登录用户的内容提供商列表:
for (PackageInfo pack : getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS)) {
ProviderInfo[] providers = pack.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
Log.d(TAG, "provider info: " + provider.authority);
}
}
}
但是,上述代码并未列出设备上可用的所有内容提供商,包括其他用户和受限配置文件。
我的问题:
是否可以列出平板电脑上所有 users/profiles 的内容提供商?
我看到了 other questions on SO,但他们只列出了仅供登录用户使用的内容提供商。
在研究并尝试了所有可能的选项(包括此 post 中的参考)之后,我发现不可能编写一个可以在平板电脑上的多个用户和受限配置文件之间共享数据的 Content Provider
我可以使用以下代码获取平板电脑上登录用户的内容提供商列表:
for (PackageInfo pack : getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS)) {
ProviderInfo[] providers = pack.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
Log.d(TAG, "provider info: " + provider.authority);
}
}
}
但是,上述代码并未列出设备上可用的所有内容提供商,包括其他用户和受限配置文件。
我的问题: 是否可以列出平板电脑上所有 users/profiles 的内容提供商?
我看到了 other questions on SO,但他们只列出了仅供登录用户使用的内容提供商。
在研究并尝试了所有可能的选项(包括此 post 中的参考)之后,我发现不可能编写一个可以在平板电脑上的多个用户和受限配置文件之间共享数据的 Content Provider