-1

デバイスから送信されたすべての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)に取り組んでいます。

できれば助けてください。

4

1 に答える 1