メールアドレスのみの電話連絡先をユーザーに表示する必要があるアプリを構築しようとしています。ユーザーがアプリの編集ボックスをクリックすると、ユーザーが選択した後、メールアドレスのみの電話連絡先が表示される必要があります連絡先のメールアドレスをアプリに送り返す必要があり、アプリでさらに使用します。
//これは onActivityResult() メソッドの下の私のコードです
try
{
Uri result = data.getData();
String id = result.getLastPathSegment();
cursor = getContentResolver().query(Email.CONTENT_URI, null, Email.CONTACT_ID + "=?", new String[] { id }, null);
emailIdx = cursor.getColumnIndex(Email.DATA);
if (cursor.moveToFirst())
{
while (cursor.isAfterLast() == false)
{
emailid = cursor.getString(emailIdx);
allids.add(emailid);
cursor.moveToNext();
}
}
else
{
//no results actions
}
}
// これは私が渡しているインテントです。
Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
intent.setType(ContactsContract.CommonDataKinds.Email.ADDRESS);
startActivityForResult(intent, 1);
// マニフェスト権限。
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/email_v2" />
<data android:mimeType="vnd.android.cursor.item/email_v2" />
</intent-filter>
アプリを実行しようとすると、以下のエラーが発生します。
android.content.ActivityNotFoundException: No Activity found to handle Intent {act=android.intent.action.PICK typ=data1 }
何が問題なのかわかりません。manifest.xml に何か不足していますか?.助けてください。
ありがとう!