開啟通訊錄
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
通訊錄關閉回調
擷取電話号碼
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (1) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String hasPhone = c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
String id= c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
String phoneNumber = null;
if ( hasPhone.equalsIgnoreCase("1")) {
hasPhone = "true";
} else {
hasPhone = "false" ;
}
if (Boolean.parseBoolean(hasPhone)) {
Cursor dataCursor = getContentResolver().query(Uri.parse("content://com.android.contacts/data"), new String[] {
"mimetype", "data1" }, "raw_contact_id=?",
new String[] { id }, null);
while (dataCursor.moveToNext()) {
if("vnd.android.cursor.item/phone_v2".equals( dataCursor.getString(0))){
if(phoneNumber==null)
phoneNumber=dataCursor.getString(1);
}
}
phoneNo.setText(phoneNumber);
}
}
}
break;
}
}
發送短信
SmsManager smsManager = SmsManager.getDefault();
TelephonyManager phoneMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
smsManager.sendTextMessage(phoneNo.getText().toString().trim(), phoneMgr.getLine1Number(),"share message我有一筆交易要支付100萬", null, null);
調用系統發送短信意圖
Intent msgintent = new Intent("android.intent.action.SENDTO");
msgintent.addCategory(Intent.CATEGORY_DEFAULT);
msgintent.putExtra("sms_body", "dfadfadfa");
msgintent.setData(Uri.parse("sms:10086"));
startActivity(msgintent);