我创建了另一个用于在Android中创建新联系人的应用程序。当我们创建联系人时,它可以正常工作。
但是当我们在上下文菜单中选择“创建联系人”的通话记录创建联系人时,我无法获得选择用于创建联系人的电话号码。
Plz帮助我......
答案 0 :(得分:0)
可能有点迟了但这对我有用。
在你的android中添加这个 `
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:label="Edit/Add Property/Requirement">
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/person" android:host="contacts" />
<data android:mimeType="vnd.android.cursor.item/contact" android:host="com.android.contacts" />
<data android:mimeType="vnd.android.cursor.item/raw_contact" android:host="com.android.contacts" />
</intent-filter>
<intent-filter android:label="Add Property/Requirement">
<action android:name="android.intent.action.INSERT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/person" />
<data android:mimeType="vnd.android.cursor.dir/contact" />
<data android:mimeType="vnd.android.cursor.dir/raw_contact" />
</intent-filter>
</activity>`
此活动将是创建联系人的活动。在活动内部,使用此代码捕获电话号码
Intent intent = getIntent();
try{
Uri uri = intent.getData();
if (uri.toString().endsWith("contacts")) // new contact
{
phoneNumber = intent
.getStringExtra(ContactsContract.Intents.Insert.PHONE);
}
else{
ContactID = ""+ContentUris.parseId(uri);
phoneNumber = intent
.getStringExtra(ContactsContract.Intents.Insert.PHONE);
}
}
catch(Exception E){
}
希望这会有所帮助:)