import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteException;
import android.net.Uri;
import android.util.Log;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2016/7/27.
*/
public class SmsContent {
private Context context;
private Uri SMS_IMBOX =Uri.parse(“content://sms/”);
private List<SMSbean> list;
public List<SMSbean> getSmsInPhone(Context context) {
list =new ArrayList<SMSbean>();
final String SMS_URI_ALL = “content://sms/”;
final String SMS_URI_INBOX = “content://sms/inbox”;
final String SMS_URI_SEND = “content://sms/sent”;
final String SMS_URI_DRAFT = “content://sms/draft”;
final String SMS_URI_OUTBOX = “content://sms/outbox”;
final String SMS_URI_FAILED = “content://sms/failed”;
final String SMS_URI_QUEUED = “content://sms/queued”;
StringBuilder smsBuilder = new StringBuilder();
try {
Uri uri = Uri.parse(SMS_URI_ALL);
String[] projection = new String[] { “_id”, “address”, “person”, “body”, “date”, “type” };
Cursor cur = context.getContentResolver().query(uri, projection, null, null, “date desc”); // 获取手机内部短信
if (cur.moveToFirst()) {
int index_Address = cur.getColumnIndex(“address”);
int index_Person = cur.getColumnIndex(“person”);
int index_Body = cur.getColumnIndex(“body”);
int index_Date = cur.getColumnIndex(“date”);
int index_Type = cur.getColumnIndex(“type”);
do {
String strAddress = cur.getString(index_Address);
int intPerson = cur.getInt(index_Person);
String strbody = cur.getString(index_Body);
long longDate = cur.getLong(index_Date);
int intType = cur.getInt(index_Type);
SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
Date d = new Date(longDate);
String strDate = dateFormat.format(d);
String strType = “”;
if (intType == 1) {
strType = “接收”;
} else if (intType == 2) {
strType = “发送”;
} else {
strType = “null”;
}
SMSbean sms =new SMSbean(strAddress,strbody);
list.add(sms);
} while (cur.moveToNext());
if (!cur.isClosed()) {
cur.close();
cur = null;
}
} else {
smsBuilder.append(“no result!”);
} // end if
smsBuilder.append(“getSmsInPhone has executed!”);
} catch (SQLiteException ex) {
Log.d(“SQLiteException in getSmsInPhone”, ex.getMessage());
}
return list;
}
}
本人这获取短信方法对吗,不想在activity写。好像空指针了,求高手。怎么改
5
5
public class SmsContent { private Context context; public SmsContent(Context context) { super(); this.context = context; }
5
5