获取手机的短信内容和联系人信息
2015-07-13 10:22
483 查看
获取短信内容:
编写一个广播接收器(ShortMessageReceiver),其中onReceive方法的代码如下:
public void onReceiver(Context context,Intent intent){
Bundle bundle = intent.getExtras();
if (bundle != null){
//获得收到的短信数据
Object[] objArray (Object[]) bundle.get("pdus");
//定义封装短信内容的SmsMessage对象数组
SmsMessage[] messages=new SmsMessage[objArray.length];
//循环处理收到的所有短信
for (int i=0;i<objArray.length;i++){
//将每条短信数据转换成SmsMessage对象
messages[i] =SmsMessage.createFormPdu((byte[]) objArray[i]);
//获得发送短信的电话号码和短信内容
String s ="手机号:"+messages[i].getDisplayMessageBody();
//显示发送短信的电话号码和短信内容
Toast.makeText(Context,s,Toast.LENGTH_LONG).show();
}
}
}
然后在AndroidMainfest.xml文件中定义ShortMessageReceiver时添加短信广播Action即可,代码如下:
</pre><pre name="code" class="html"><receiver android:name=".ShortMessageReceiver">
android:enabled="true"
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
读取联系人信息:
使用Content Provider可以读取联系人信息。如下的代码读取了所有联系人信息,并将联系人名称显示在ListView组件中:
ListView listView = (ListView) findViewById(R.id.listview);
//查询系统中所有联系人
Cursor cursor = getContentResolver().query(
ContactsContacts.CONTENT_URI,null,null,null,null);
//根据cursor创建SimpleCursorAdapter对象
SimpleCursorAdapter simpleCursorAdapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1,cursor,new String[]
读取联系人信息时,要在AndroidMainfest.xml文件中设置如下权限:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
编写一个广播接收器(ShortMessageReceiver),其中onReceive方法的代码如下:
public void onReceiver(Context context,Intent intent){
Bundle bundle = intent.getExtras();
if (bundle != null){
//获得收到的短信数据
Object[] objArray (Object[]) bundle.get("pdus");
//定义封装短信内容的SmsMessage对象数组
SmsMessage[] messages=new SmsMessage[objArray.length];
//循环处理收到的所有短信
for (int i=0;i<objArray.length;i++){
//将每条短信数据转换成SmsMessage对象
messages[i] =SmsMessage.createFormPdu((byte[]) objArray[i]);
//获得发送短信的电话号码和短信内容
String s ="手机号:"+messages[i].getDisplayMessageBody();
//显示发送短信的电话号码和短信内容
Toast.makeText(Context,s,Toast.LENGTH_LONG).show();
}
}
}
然后在AndroidMainfest.xml文件中定义ShortMessageReceiver时添加短信广播Action即可,代码如下:
</pre><pre name="code" class="html"><receiver android:name=".ShortMessageReceiver">
android:enabled="true"
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
读取联系人信息:
使用Content Provider可以读取联系人信息。如下的代码读取了所有联系人信息,并将联系人名称显示在ListView组件中:
ListView listView = (ListView) findViewById(R.id.listview);
//查询系统中所有联系人
Cursor cursor = getContentResolver().query(
ContactsContacts.CONTENT_URI,null,null,null,null);
//根据cursor创建SimpleCursorAdapter对象
SimpleCursorAdapter simpleCursorAdapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1,cursor,new String[]
{ CountactsContract.Contacts.DISPLAY_NAME},new int[] {android.R.id.text1} ); //在ListView控件中显示联系人列表 listView.setAdapter(simpleCursorAdapter);
读取联系人信息时,要在AndroidMainfest.xml文件中设置如下权限:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析