2016-11-30 4 views
1

私は、メッセージや他の一般的なSMSアプリケーションで使用されるメインシステムデータベースとは別に、独自のSMSデータベースを管理するSMSアプリケーションを持っています。他のアプリがSMS(Google Now、MightyText、またはSMSを送信するための他のGUIレスのメソッドなど)を送信すると、そのメッセージが私が作業しているアプリにインポートされるようにしたいと思います。これを行うには、SMSが送信されたとき、および/または送信SMSがシステムSMSデータベースに保存されたときに、アクションをトリガーする必要があります。別のアプリがSMSを送信/保存しているときにAndroidアプリでアクションをトリガーしますか?

私はこれを聞くために聞くために登録することができます放送の意図はありますか?そうでない場合は、このイベントを監視して反応する最低限のオーバーヘッド方法は何ですか?

IFTTTとタスク担当者のアプリは、送信されたSMSを聞くことができるので、可能です。残念なことにどちらもオープンソースではないので、私は彼らがどのようにそれを行うのか分かりません。

+0

私はダウンボッターからのフィードバックを本当に感謝しています。私は疑問を言い直したり、それが助けになるならば、より詳細な情報を提供してくれることを嬉しく思います。 – Sparr

答えて

0

Telephony SMS Intentsを見ましたか? RESULT_SMS_HANDLEDのような約束があるようです。

もう1つの可能性は、SMSプロバイダ(Telephony.Sms.Inbox.CONTENT_URI)のコンテンツプロバイダの変更を観察することです。しかし、それはあなたのアプリが動いている間だけ可能だと思います。

+0

RESULT_SMS_HANDLEDは意図ではなく、SMS _ * _ ACTIONインテントの1つの可能な結果コードです。 – Sparr

+0

コンテンツプロバイダへの変更の通知をリクエストする方法はありますか?ポーリングは非常に優秀ではないようです。 – Sparr

+0

ここに例を挙げて答えがあるようです:http://stackoverflow.com/questions/9520277/practical-way-to-find-out-if-sms-has-been-sent/9659025#9659025 – shtolik

関連する問題