我需要获取短信列表并像在股票应用程序或 Go sms pro 中一样显示它们。我正在使用以下代码:
uriSms = Uri.parse("content://mms-sms/conversations");
Cursor cursor = getContentResolver().query(uriSms, new String[] {"*"}, null, null, "date DESC");
cursor.moveToFirst();
do{
try{
String address = cursor.getString(32);
if(address == null){
address = ""; //phone number
}else{
address = getContactName(address);
}
String body = cursor.getString(2);
System.out.println("======> Mobile number => "+address);
System.out.println("=====> SMS Text => "+body);
}catch (Exception e) {
e.printStackTrace();
}
}while(cursor.moveToNext());
它适用于我的 Galaxy 选项卡(android 2.2),但在我的 s3(ICS)应用程序启动时崩溃。我不想解析彩信,所以我尝试使用
uriSms = Uri.parse("content://sms/conversations");
但它不适用于两种设备。我搜索了很多以找到解决方案,但一无所获。我只发现访问短信对话取决于安卓操作系统和设备。我的目的是制作支持每个 android 设备 2.2+ 的应用程序。在股票应用程序中,他们使用 Thread.CONTENT_URI 来获取短信列表作为对话,例如。
Threads.CONTENT_URI.buildUpon().appendQueryParameter("simple", "true").build();
但是类 Thread 没有提供源代码,我在互联网上找不到它。我该怎么做才能让我的应用程序在每个 android 设备 (2.2+) 上运行,就像 Handcent Sms 或 GO sms pro 一样。