如何在 android 中跟踪已发送的消息 (SMS)?

How to track sent messages (SMS) in android?

我正在开发一个 Android 应用程序,该应用程序的其中一项功能是检测应用程序向任何号码发送的任何消息 (SMS)。为此,我想跟踪已发送的消息。我想在发送消息时检查消息。我知道有一个用于收到短信的广播接收器,它会在收到消息时自动调用该功能。有什么方法可以为 SMS Sent 做到这一点吗?我只需要一种技术来做到这一点。

创建一个 ContentObserver

public class InboxContentObserver extends ContentObserver {

    ContentResolver cr;
    Context ctxt;

    public InboxContentObserver(Handler handler, Context ctxt) {
        super(handler);
        this.cr = ctxt.getContentResolver();
        this.ctxt = ctxt;
    }

    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);
        Log.i(TAG, "Starting sms sync.");
        new Thread(new Runnable() {
            @Override
            public void run() {
               Cursor sms_sent_cursor = cr.query(Uri
                        .parse("content://sms"), null, "date > ?",
                new String[]{LAST_SYNC_TIME}, "_id asc");
                //....write your code here

            }
        }).start();
    }
}

用时间替换LAST_SYNC_TIME。

注册 ContentObserver

new InboxContentObserver(new Handler(), getApplicationContext());
        getContentResolver().registerContentObserver(Uri.parse("content://sms"), true, inboxContentObserver);