送信されたSMSメッセージのAndroidの放送受信機?
-
13-09-2019 - |
質問
私はBroadcastReceiver
を作成し、それが毎回電話と呼ばれているように、android.provider.Telephony.SMS_RECEIVED
アクションフィルタでそれを設定し、<全角>を受信のテキストます。
いくつかのイベント/アクションまたは他の方法があるテキスト(それを送信するアプリケーションの好ましくは独立した)?
これまでのところ私が見る唯一のオプションは、アプリケーションがそれを置くしないことを選択することができるためにも私に送信されたすべてのテキストを与えるものではありませんcontent://sms/sent
のためのコンテンツプロバイダをポーリングすることです。
解決
残念ながら BroadcastReceiver
に実装する方法は(現時点では)ありません標準のSMSアプリケーションは、メッセージを送信するために SmsManger
に使用していますので、しかし、送信及び配信インテント(それぞれSmsReceiver.class
とMessageStatusReceiver.class
)の具体的な内部クラスを指定します。それはどんな慰めですが、SMSアプリケーションの<のhref = "http://android.git.kernel.org/?p=platform/packages/apps/Mms.git;a=blob_plainに以下のコメントを見つけることができないこと; HB = HEAD」のrel = "noreferrer">ソースの; = SRC / COM /アンドロイド/ MMS /トランザクション/ SmsMessageSender.java Fます:
// TODO: Fix: It should not be necessary to
// specify the class in this intent. Doing that
// unnecessarily limits customizability.
最善の選択肢は、潜在的に content://sms/sent
ContentObserverのようです>。