2

重複の可能性:
送信された SMS のブロードキャスト受信者

私は現在、次のようにブロードキャストレシーバーを介して SMS が受信されたことを検出しています。

<receiver android:name=".gathering.SMSNode">
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>

メッセージがいつ送信されたかを検出するための同様のブロードキャストレシーバーはありますか?

4

1 に答える 1

3
ContentResolver contentResolver = getContentResolver();
Handler handler = new Handler();
m_SMSObserver = new SMSObserver(handler);
contentResolver.registerContentObserver(Uri.parse("content://sms"),
true, m_SMSObserver);

そして、送信/受信イベントを分離するためのこのコード

Uri uriSMSURI = Uri.parse("content://sms");
Cursor cur = this.getContentResolver().query(uriSMSURI, null, null,
null, null);
cur.moveToNext();
String protocol = cur.getString(cur.getColumnIndex("protocol"));
if(protocol == null)
        onSMSSend();            
else
        onSMSReceive(); 

次の URL を参照してください。

http://www.mail-archive.com/android-developers@googlegroups.com/msg27154.html

于 2012-12-23T06:11:10.607 に答える