android > SMS 短信数据库访问
16lz
2022-01-25
.java
package test.mft;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import android.app.Activity;import android.app.TabActivity;import android.content.Context;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.CallLog;import android.provider.ContactsContract;import android.provider.ContactsContract.CommonDataKinds.Phone;import android.util.Log;import android.widget.TabHost;public class TestActivity extends Activity { /** Called when the activity is first created. */ Context Tcontext;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main);Tcontext = TestActivity.this; getSMSInPhone();//}private Cursor getSMSInPhone() { Uri SMS_CONTENT = Uri.parse("content://sms/"); String[] projection = new String[] { "_id", "address", "person", "body", "date", "type" }; // type : 1-> 接收 , 2->发送 Cursor cursor = Tcontext.getContentResolver().query(SMS_CONTENT, projection, null, null, "date desc"); // 获取手机短信 while (cursor.moveToNext()) { System.out.println("--sms-- : " + "address:"+cursor.getString(cursor.getColumnIndex("address"))+ "\nperson:"+getPeopleNameFromPerson(cursor.getString(cursor.getColumnIndex("address")))+ "\nbody:"+cursor.getString(cursor.getColumnIndex("body"))+ "\ndate:"+cursor.getString(cursor.getColumnIndex("date"))+ "\ntype:"+cursor.getString(cursor.getColumnIndex("type")) ); } return cursor; } private String getPeopleNameFromPerson(String address){if(address == null || address == ""){return "( no address )\n";}String strPerson = "null";String[] projection = new String[] {Phone.DISPLAY_NAME, Phone.NUMBER};Uri uri_Person = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI, address);// address 手机号过滤Cursor cursor = getContentResolver().query(uri_Person, projection, null, null, null);if(cursor.moveToFirst()){int index_PeopleName = cursor.getColumnIndex(Phone.DISPLAY_NAME);String strPeopleName = cursor.getString(index_PeopleName);strPerson = strPeopleName;}else{strPerson = address;}cursor.close();return strPerson;}}
--sms-- : address:1388888888
person:王三
body:我是信息内容?
date:1365658438100
type:1
权限加上
<uses-permission android:name="android.permission.READ_SMS"/><uses-permission android:name="android.permission.READ_CONTACTS"/>
更多相关文章
- Android读取手机联系人且获得联系人手机号+名称
- Android读取手机联系人信息
- Android跳转到通讯录获取用户名称和手机号码的实现思路
- Android开发傻瓜入门-开发自己的手机短信发送程序
- Android之发送短信和接收验证码
- android调用Webservice方法
- android访问webservice
- android发短信
- webservice获取手机归属地