送信された SMS を抽出しようとしています。これには BroadcastReciver がないことを知っています。そのため、ContentObserver を使用してデータベースの変更をリッスンできることがわかりました。
どうすればこれを実装できますか? 私の目的は、送信された新しいSMSのみを取得し、DBのPOST経由で送信することです
ありがとう
送信された SMS を抽出しようとしています。これには BroadcastReciver がないことを知っています。そのため、ContentObserver を使用してデータベースの変更をリッスンできることがわかりました。
どうすればこれを実装できますか? 私の目的は、送信された新しいSMSのみを取得し、DBのPOST経由で送信することです
ありがとう
これを行うためのコードフラグメントを次に示します。重要なのは、「タイプ = 送信メッセージ」のみを検索する選択を使用することです。
また、コンテンツ DB は変更によってトリガーされる可能性があるため、既に処理されたものを (何らかの形で) 追跡します。
int THREAD_ID = 0, ADDRESS = 1, DATE = 2, TYPE = 3, BODY = 4, INCOMING = 1, OUTGOING = 2, UNKNOWN = -1;
String[] smsProjection = new String[] {"thread_id", "address", "date", "type", "body"};
ContentResolver cr = context.getContentResolver();
Cursor cursor = context.getContentResolver().query(uri, smsProjection, "type = ? AND date > ?",new String[]{Integer.toString(OUTGOING), Long.toString(lastOutgoingSmsTime)}, null);