/**
* 读取短信
*/
public static List<SMS> readSMS(Context context, long lastTime) {
ContentResolver resolver = context.getContentResolver();
Uri uri = Uri.parse("content://sms/");
Cursor cursor = resolver.query(uri, null, null, null, null);
List<SMS> smsList = new ArrayList<>();
while (cursor.moveToNext()) {
String address = cursor.getString(cursor.getColumnIndex("address"));
String body = cursor.getString(cursor.getColumnIndex("body"));
long date = cursor.getLong(cursor.getColumnIndex("date"));
String type = cursor.getString(cursor.getColumnIndex("type"));
if (date > lastTime) {
Log.e(TAG, "地址:" + address + "\n" + "内容:" + body + "\n" + "日期:" + date + "\n"+"type"+type+"\n");
SMS sms = new SMS();
sms.setAddress(address);
sms.setBody(body);
sms.setDate(date);
sms.setType(type);
smsList.add(sms);
}
}
cursor.close();
return smsList;
}
/**
* 读取通话记录
*/
public static List<Phone> readPhoneHistory(Context context, long lastTime) {
ContentResolver cr = context.getContentResolver();
Uri uri = CallLog.Calls.CONTENT_URI;
String[] projection = new String[]{CallLog.Calls.NUMBER, CallLog.Calls.DATE,
//TYPE:1接听 2拨打 3 错过
CallLog.Calls.TYPE, CallLog.Calls.DURATION};
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return null;
}
Cursor cursor = cr.query(uri, projection, null, null, null);
List<Phone> phoneList = new ArrayList<>();
while (cursor.moveToNext()) {
String number = cursor.getString(0);
long date = cursor.getLong(1);
int type = cursor.getInt(2);
int duratioin = cursor.getInt(3);
if (date > lastTime) {
Log.e(TAG, "手机号:" + number + "\n" + "类型:" + type + "\n" + "日期:" + date + "\n" + "时长" + duratioin + "\n");
Phone phone = new Phone();
phone.setDate(date);
phone.setNumber(number);
phone.setDuratioin(duratioin);
phone.setType(type);
phoneList.add(phone);
}
}
cursor.close();
return phoneList;
}
android 使用内容提供者 获取通话记录 短信
最新推荐文章于 2023-05-16 15:52:04 发布