0
btngal.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent i=new Intent(Intent.ACTION_PICK,android.provider.ContactsContract.Contacts.CONTENT_GROUP_URI);
                startActivityForResult(i,0);        
            }
        }); 

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // super.onActivityResult(requestCode, resultCode, data);
        if (resultCode != RESULT_CANCELED) {
            if (requestCode == 0) {
                Uri selectContact=data.getData();
                String[] filePathColumn={Contacts.CONTENT_URI.toString()};
                Cursor cursor = getContentResolver().query(selectContact,
                        filePathColumn, null, null, null);
                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
             filePath = cursor.getString(columnIndex);
                cursor.close();

            }
        }

    }

在执行此操作时,我遇到以下错误:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.PICK dat=content://com.android.contacts/contacts/group }
4

1 回答 1

0

为了从本机 android 应用程序读取联系人,您需要权限,就像 manifest.xml 中的这样

<uses-permission android:name="android.permission.READ_CONTACTS"/>

确保你有那个。

于 2013-04-01T08:37:36.983 回答