第一步加权限:
<!-- 读取联系人 -->
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
再写代码:
/**手机上的联系人StringBuffer buffers = new StringBuffer();
/**当有数据时*/
while (cursor.moveToNext()) {
/**通讯录中每个联系人的ID*/
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));}
/**如果联系人有多个电话,比如有手机也有座机时,就用{联系人:号码,联系人:号码}的形式记录下来*/
buffers.append("{");}
/**查询完要Cursor,取得了对应的信息,可以保存起来*/
mCursor.close();---------------------------------用广播监听短信信息---------------------------------------------------
第一步仍是加权限:
<!-- 收短信 -->
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<!-- 发短信 -->
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
第二步,写广播代码:
public class SmsReceiver extends BroadcastReceiver {
@SuppressLint("SimpleDateFormat")
@Override
public void onReceive(Context arg0, Intent arg1) {
/**获取广播数据*/
Bundle bundle = arg1.getExtras();
/**判断数据*/
if (bundle != null && bundle.size() > 0) {
/**获得短信内容组成的数组对象*/
Object[] objs = (Object[]) bundle.get("pdus");
for (Object object : objs) {
SmsMessage mess = SmsMessage.createFromPdu((byte[]) object);
/**收到的短信内容 */
String message = mess.getMessageBody();
/**发短信者的电话号码 */
String telephoneNum = mess.getDisplayOriginatingAddress();
/* 礼尚往来嘛,我们再给他回条信息:现在变成接收人电话号码 */
String sendTo = telephoneNum;
/**短信管理器SmsManager对象*/
SmsManager smsManager = SmsManager.getDefault();
/**添加上一个时间*/
Date date = new Date(mess.getTimestampMillis());
/**时间格式*/
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sendTime = format.format(date);
/**我们要发给对方的短信内容*/
String text = "发送时间:" + sendTime + "\n发送内容:你给我的信息内容是:"+message + "我给你回信息啦,请查收!";
/**发送短信出去*/
smsManager.sendTextMessage(sendTo, null, text, null, null);
this.abortBroadcast();// 中断广播
break;
}
}
}
}
第三步,在AndroidManifest.xml中注册广播:
<!-- 注册短信广播 -->
<receiver android:name=".sms.SmsReceiver"><!--SmsReceiver是写在我对应包名下的sms文件下 -->
<intent-filter android:priority="1000"><!-- 给了个优先级值,值越大,优先级越高 -->
<action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
</intent-filter>
</receiver>
原文地址:http://blog.csdn.net/true100/article/details/44851087