我有这段代码:
context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
在某些手机上(用户向我报告)会导致:
java.lang.IllegalArgumentException:未知权限 com.android.contacts
但是,已安装的软件包中列出了类似的权限:
触点; com.android.contacts
或
com.google.contacts.gal.provider
注意联系人;前缀 - 对我来说似乎不太好。 我使用此代码来获取它:
String message="";
for (android.content.pm.PackageInfo pack : context.getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS)) {
ProviderInfo[] providers = pack.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
message=message+", "+provider.authority;
}
}
}
您认为故障转移到联系人是否合适;如果com.android.contacts失败,则com.android.contact?
答案 0 :(得分:1)
联系人提供商在其权限中列出“contacts; com.android.contacts”。此列表应由内容解析程序解析,您不需要将此字符串用作权限。
可能您需要了解有关此问题的手机的更多信息。