4

私はandroid.provider.Telephony.SMS_RECEIVEDをリッスンしているBroadcastReceiverを持っています。一部の SMS を傍受するつもりなので、abortBroadcast() を使用しますが、すべての SMS に対してではありません。

しかし、インテントから SMS を抽出すると、複数の SMS を取得できると思いますか?

Object[] messages = (Object[]) intent.getSerializableExtra("pdus");

メッセージは Object[] ですが、それは複数の SMS である可能性があるということですか? または、常に 1 つの SMS であると安全に想定できます。

私の問題は、複数の SMS を受信し、傍受する必要があるのは 1 つだけの場合、正しく操作できないことです。abortBroadcast() を実行すると、ユーザーは正当な SMS を失うことになり、そうしないと、受信してはならない SMS を受け取ることになります。 .

私はAndroid 2.2を使用しています

4

1 に答える 1

1

私は自分で試したことはありませんが、以下のリンクによると、「SMS ごとに 1 回」ルールは正しくありません。特に、マルチパート メッセージの場合は、messages.length > 1 で onReceive が呼び出されます。

これらのリンクが役立つと思います:

于 2011-06-15T11:14:17.527 に答える