Android 为什么会有这样的情况;无法获取以下项的类型:content://contacts/"
我正在逐步阅读“专业Android 4应用程序开发”中的教程。在第5章中,有一个简单的应用程序演示如何选择联系人并打印结果 在我进入应用程序并对其进行测试后,我发现以下错误: 10-06 11:29:04.596:W/ContentResolver(1073):无法获取以下内容的类型:content://contacts/ (URI:content://contacts/,调用用户:android.uid.system:1000,调用包是:[com.android.keychain,com.android.settings,android,com.android.providers.settings,com.android.inputdevices]之一) 此字符串在以下方法中引用:Android 为什么会有这样的情况;无法获取以下项的类型:content://contacts/",android,android-contacts,android-contentresolver,Android,Android Contacts,Android Contentresolver,我正在逐步阅读“专业Android 4应用程序开发”中的教程。在第5章中,有一个简单的应用程序演示如何选择联系人并打印结果 在我进入应用程序并对其进行测试后,我发现以下错误: 10-06 11:29:04.596:W/ContentResolver(1073):无法获取以下内容的类型:content://contacts/ (URI:content://contacts/,调用用户:android.uid.system:1000,调用包是:[com.android.keychain,com.an
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact_picker_tester);
Button button = (Button) findViewById(R.id.pick_contact_button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts/"));
startActivityForResult(intent, PICK_CONTACT);
}
});
}
我想可能是我做错了什么,所以我从中运行了相应的示例,得到了相同的错误。你知道这里可能有什么问题吗?你在android manifest.xml中有正确的权限吗 你需要:
android.permission.READ_CONTACTS
从尝试更改
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts/"));
致:
我认为您的uri不正确,这就是它抛出类型错误的原因。我刚刚查看了本书中的相同示例。“内容URI”content://contacts“无效,并且缺少。它应该被定义为
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://picker/contacts/"));
权限“picker”是整个提供程序的任意名称
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://picker/contacts/"));