簡體   English   中英

如何在 Android Studio 的“短信內容提供商”中讀取我自己發送的短信

[英]How to read my own sent sms in the "sms content provider" for Android Studio

大家好,我發現這個線程與如何在我的手機中檢索短信數據有關:

如何在 Android 中以編程方式從設備讀取 SMS 消息?

我確實按照他們顯示的答案進行了操作,現在我可以閱讀收到的所有短信,但我的問題是我看不到自己對這些短信的回復。

誰能提供一種在對話中查看我自己的短信的方法?

有關我的代碼的信息:

public class MainActivity extends AppCompatActivity {

    RecyclerView rv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String myDate = "2021/06/07 00:10:45";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date date = null;
        try {
            date = sdf.parse(myDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long millis = date.getTime();
        int REQUEST_PHONE_CALL = 1;

        if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_SMS}, REQUEST_PHONE_CALL);
        }


        Log.i("debug", "intro");
        // Create Inbox box URI
        Uri inboxURI = Uri.parse("content://sms/inbox");

// List required columns
        String[] reqCols = new String[]{"_id", "date", "body"};

// Get Content Resolver object, which will deal with Content Provider
        ContentResolver cr = getContentResolver();

// Fetch Inbox SMS Message from Built-in Content Provider
        Cursor c = cr.query(inboxURI, reqCols, "date>="+String.valueOf(millis), null, null);
      DatabaseUtils.dumpCursor(c); 
}

我發現了如何解決這個問題,我們可以簡單地使用這個 URI 查詢來查看發送的消息:

Uri.parse("content://sms/sent");

或者,如果我們想同時查看發送和接收,我們可以使用:

Uri.parse("content://sms");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM