0
下面是一個代碼:呼叫聯繫人號碼
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(n));
startActivity(intent);
我想與聯繫人的名稱,以取代n
下面是一個代碼:呼叫聯繫人號碼
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(n));
startActivity(intent);
我想與聯繫人的名稱,以取代n
您可以將聯繫人姓名傳遞給該方法,並獲得數如下圖所示。
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(getNumber("ContacteName", this)));
startActivity(intent);
getNumber是方法params是ContactName,Context。
public String getNumber(String name,Context context)
{
String number="";
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String[] projection = new String[] {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER};
Cursor people = context.getContentResolver().query(uri, projection, null, null, null);
int indexName = people.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
int indexNumber = people.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
people.moveToFirst();
do {
String Name = people.getString(indexName);
String Number = people.getString(indexNumber);
if(Name.equalsIgnoreCase(name)){return Number.replace("-", "");}
// Do work...
} while (people.moveToNext());
if(!number.equalsIgnoreCase("")){return number.replace("-", "");}
else return number;
}
另一種方式,你可以使用這樣的事情來提示用戶選擇聯繫人,然後撥打該電話號碼(如果有不止一個)......比傳遞到意向做電話:
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(intent, 1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
Uri contactData = data.getData();
String theID = contactData.toString());
//MAKE YOUR CALL .. do whatever... example:
ContentResolver contentResolver = getContentResolver();
Uri contactData = Uri.parse(theID);
Cursor cur = contentResolver.query(contactData, null, null, null, null);
String theNumber = cur.getString(cur.getColumnIndex("data4"));
cur.close();
Intent my_callIntent = new Intent(Intent.ACTION_CALL);
my_callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
my_callIntent.setData(Uri.parse("tel:" + theNumber));
startActivity(my_callIntent);
}
}
謝謝。我測試,我回來給你 – prince47
對不起,但它不工作。模擬器返回錯誤 – prince47
它的工作原理!謝謝 – prince47