BroadcastReceiver
を作成し、Android.provider.Telephony.SMS_RECEIVED
アクションフィルターを使用して構成したので、電話受信テキストのたびに呼び出されます。
電話が送信テキスト(できればそれを送信するアプリケーションから独立している)のたびにアプリケーションに通知されるイベント/アクションまたは他の方法はありますか?
これまでのところ、私が見る唯一のオプションは、コンテンツプロバイダーにcontent://sms/sent
をポーリングすることです。これは、アプリケーションがそこに配置しないことを選択できるため、送信されたすべてのテキストを取得することすらできません。
残念ながら、(現在) BroadcastReceiver
を実装する方法はありません。標準のSMSアプリケーションは SmsManger
を使用してメッセージを送信しますが、送信および配信されたインテントの具体的な内部クラス(SmsReceiver.class
およびMessageStatusReceiver.class
それぞれ)。それは慰めであるというわけではありませんが、Smsアプリケーションの ソース で次のコメントを見つけることができます:
// TODO: Fix: It should not be necessary to
// specify the class in this intent. Doing that
// unnecessarily limits customizability.
最良の代替策はポーリングであるようですcontent://sms/sent
、潜在的に ContentObserver
を使用します。