0
はコードです:コール連絡先番号
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(n));
startActivity(intent);
私はあなたがこのメソッドに連絡先の名前を渡すと、以下のように番号を取得することができ、接触
はコードです:コール連絡先番号
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はメソッドです。パラメータは、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