天天看點

Android,開啟通訊錄

開啟通訊錄

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);

繼續閱讀