为什么会出现"无法获取类型:content:// contacts /"

Dav*_*arr 0 android android-contentresolver android-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])

此字符串在以下方法中引用:

    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);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我想也许我做错了什么,所以我从Book源代码中运行了相应的例子并得到了同样的错误.任何想法在这里可能是错的?

Joh*_*ith 5

尝试改变

Intent  intent  = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts/"));
Run Code Online (Sandbox Code Playgroud)

至 :

Intent intentContact = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
Run Code Online (Sandbox Code Playgroud)

我认为你的uri是不正确的,这就是它抛出类型错误的原因.