0
我已经创建了一个用于在android中创建新联系人的备用应用。当我们创建联系人时它工作正常。创建联系人时从通话记录中获取号码
但是,当我们从通话记录中创建联系人并在上下文菜单中选择“创建联系人”时,我无法获取用于创建联系人的电话号码。
Plz帮我...
我已经创建了一个用于在android中创建新联系人的备用应用。当我们创建联系人时它工作正常。创建联系人时从通话记录中获取号码
但是,当我们从通话记录中创建联系人并在上下文菜单中选择“创建联系人”时,我无法获取用于创建联系人的电话号码。
Plz帮我...
它可能有点晚,但这对我很有用。
在你的Android manif `
<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){
}
希望这有助于:)
您使用ACTION_INSERT意图过滤器? – stinepike 2013-05-10 15:24:26
是的。我正在使用ACTION_INSERT意图过滤器。 – user2370472 2013-05-11 09:50:28