首页 > 代码库 > 怎么调用系统通讯录并向被选中联系人发送短信
怎么调用系统通讯录并向被选中联系人发送短信
每做一个项目都会有收获,前提是要在这个项目上付出努力的!
好吧,如今讲一下:怎么通过调用系统通讯录,当你点击联系人姓名时,跳转到向其发送短信的页面<收件人是被点中的联系人,短信已自己主动编辑>。
看看图片效果:
以下看一下具体代码:
Uri result = data.getData(); String phoneName = getPhoneContacts(result); Log.d("phone", "---------->phoneName=="+contactName); String smsContent="发给你一个时尚园APP的注冊邀请码,他们家的东西非常有品。" + ""+"\n"+strInviteCode+"(时尚园 APP下载地址http://t.so)"; sendSMS(phoneName,smsContent);
/** * 获取联系人手机号码 * @param contactId * @return */@SuppressWarnings("deprecation") private String getPhoneContacts(Uri contactId) { Cursor cursor = null; String phoneName = "";//联系人姓名 String phoneNum = "";//联系人电话号码 String phoneID = "";//联系人ID try { // Uri uri = People.CONTENT_URI; cursor=getContentResolver().query(contactId, null, null, null, null); if (cursor.moveToNext()) { phoneName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); phoneID=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); Log.d("phone", "phoneName&&phoneNumber=="+phoneName+"-----"+phoneID); Cursor c=getContentResolver().query(Phone.CONTENT_URI, null, Phone.CONTACT_ID+"="+phoneID, null, null); while(c.moveToNext()){ phoneNum=c.getString(c.getColumnIndex("data1")); Log.d("phone", "phoneNumber=="+phoneNum); } } else { Toast.makeText(this, "找不到该联系人",Toast.LENGTH_LONG).show(); } } catch (Exception e) { e.printStackTrace(); } finally { if (cursor != null) { cursor.close(); } } return phoneNum; }
/** * 发送短信 * * @param smsBody */ private void sendSMS(String phoneNum, String smsBody) { Log.d("phone", "sendSMS(String phoneNum, String smsBody)=="+phoneNum); Uri smsToUri = Uri.parse("smsto:"+phoneNum); Intent intent = new Intent(Intent.ACTION_SENDTO, smsToUri); intent.putExtra("sms_body", smsBody); startActivity(intent); // Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", phoneNum, null)); // mmsintent.putExtra("sms_body", smsBody); // startActivity(mmsintent); /* 建立SmsManager对象 */ // SmsManager smsManager = SmsManager.getDefault(); // smsManager.sendTextMessage(phoneNum, null, smsBody, null, null); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。