呼叫 android 中的联系人
Call a contact in android
我写了一个 android 应用程序,它使用语音识别并将语音保存到 string.Now 我可以访问这个字符串的不同部分,例如当我说打电话给爸爸时我需要检索爸爸的通讯录号码。
private void call() {
Intent in=new Intent(Intent.ACTION_CALL,Uri.parse("0000000000"));
try{
startActivity(in);
}
catch (android.content.ActivityNotFoundException ex){
Toast.makeText(getApplicationContext(),"yourActivity is not founded",Toast.LENGTH_SHORT).show();
}
}
我知道这个函数,但我需要将爸爸的号码传递给 it.For,而不是给 Uri.parse 实际号码,例如 Uri.parse(dad.PhoneNumber)。如何使用姓名从联系人中检索 phone 号码?谢谢
您需要从只知道姓名的联系人处获取号码,因此:
// Define the fields that the query will return
String[] PROJECTION = new String[] {
ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
ContentResolver cr = getContentResolver();
// Execute the query and receive the cursor with the results
Cursor cursor = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PROJECTION,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " LIKE ?",
new String[] { "Name of the Contact" },
null );
用您的联系人姓名更改 "Name of the contact"...
现在您可以从游标中获取值
// First discover the index of the desired field (Number)
final int indexNumber = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String number = cursor.getString(indexNumber);
然后你就可以使用你的意图了。
PS:该示例使用了 LIKE 运算符,因此您可以在游标中找到多个结果。适应你的需要。
我写了一个 android 应用程序,它使用语音识别并将语音保存到 string.Now 我可以访问这个字符串的不同部分,例如当我说打电话给爸爸时我需要检索爸爸的通讯录号码。
private void call() {
Intent in=new Intent(Intent.ACTION_CALL,Uri.parse("0000000000"));
try{
startActivity(in);
}
catch (android.content.ActivityNotFoundException ex){
Toast.makeText(getApplicationContext(),"yourActivity is not founded",Toast.LENGTH_SHORT).show();
}
}
我知道这个函数,但我需要将爸爸的号码传递给 it.For,而不是给 Uri.parse 实际号码,例如 Uri.parse(dad.PhoneNumber)。如何使用姓名从联系人中检索 phone 号码?谢谢
您需要从只知道姓名的联系人处获取号码,因此:
// Define the fields that the query will return
String[] PROJECTION = new String[] {
ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
ContentResolver cr = getContentResolver();
// Execute the query and receive the cursor with the results
Cursor cursor = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PROJECTION,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " LIKE ?",
new String[] { "Name of the Contact" },
null );
用您的联系人姓名更改 "Name of the contact"...
现在您可以从游标中获取值
// First discover the index of the desired field (Number)
final int indexNumber = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String number = cursor.getString(indexNumber);
然后你就可以使用你的意图了。
PS:该示例使用了 LIKE 运算符,因此您可以在游标中找到多个结果。适应你的需要。