テキストメッセージのリストを取得して、在庫アプリケーションやGosmsproのように表示する必要があります。私は次のコードを使用しています:
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());
ギャラクシータブ(android 2.2)では動作しますが、s3(ICS)アプリケーションでは起動時にクラッシュします。mmsを解析したくないので、使用してみました
uriSms = Uri.parse("content://sms/conversations");
しかし、両方のデバイスでは機能しませんでした。私は解決策を見つけるためにたくさんグーグルで検索しましたが、何も見つかりませんでした。私は、SMS会話へのアクセスがAndroidOSとデバイスに依存していることを発見しただけです。私の目的は、すべてのAndroidデバイス2.2以降をサポートするアプリケーションを作成することです。ストックアプリケーションでは、Thread.CONTENT_URIを使用して、会話としてSMSリストを取得します。
Threads.CONTENT_URI.buildUpon().appendQueryParameter("simple", "true").build();
しかし、クラスThreadにはソースコードが提供されておらず、インターネットで見つけることができません。HandcentSmsやGOsmsproと同じように、すべてのAndroidデバイス(2.2以降)でアプリケーションを実行するにはどうすればよいですか。