デバイスから送信されたすべてのSMS (テキスト メッセージ)を取得したいと考えています。 次のコマンドを使用して、受信トレイからすべてを取得できます。
public List<SMS> getAllInboxSMS(Context ctx) {
List<SMS> inboxSMSList = new ArrayList<>();
try {
Uri uriSms = Uri.parse("content://sms/inbox");
Cursor c = ctx.getContentResolver().query(uriSms, new String[]{"_id", "thread_id", "address", "person", "date", "body"}, "read=0", null, null);
if (c != null && c.moveToFirst()) {
do {
inboxSMSList.add(new SMS(c));
} while (c.moveToNext());
}
} catch (Exception e) {
Log.e("getAllInboxSMS", e.toString());
}
Log.i("inbox", "size: " + inboxSMSList.size());
Log.i("inbox", inboxSMSList.toString());
return inboxSMSList;
}
ただし、変更すると
Uri.parse("content://sms/inbox");
に
Uri.parse("content://sms/sent");
返されるリスト サイズは 0 です。
アプリをデフォルトの SMS アプリとして設定しようとしましたが、その方法でも機能しません。
私はロリポップ(Android 5)に取り組んでいます。
できれば助けてください。