5

特定の状況では、ユーザーのデバイスに着信 SMS を一種の通知として「偽装」できるアプリが必要です。通常は Twilio を使用してユーザーにテキストを送信していたのに、ユーザーが既に私のアプリを持っていることを知っている場合、これにより費用を節約できます。これを行う方法はありますか?インテントとコンテンツ プロバイダーに関係があると思いますが、どこから始めればよいかわかりません。

明確にするために:私はAndroidに慣れていないので、通常の通知方法をすべて尊重します。ただし、私のアプリにはテキスト メッセージのオプトインがあり、料金を支払うのではなく無料でトリガーできるようにしたいと考えています。これは SMS 固有の用途であり、通常の通知の代わりにはなりません。

4

2 に答える 2

2

はい (ただし、これを行うことは実際にはサポートしていません)、理論的には、適切なインテントを作成してブロードキャストすることで可能です。具体的にandroid.provider.Telephony.SMS_RECEIVEDは、デフォルトの SMS アプリケーションを含め、SMS メッセージをリッスンしているすべての人が意図を受け取ります。これにより、通知が表示されます。

そうは言っても、システム プロセス内からカスタム バージョンの Android でこれを行ったことがあるだけです。一般的なアプリケーションでこれができるかどうかはよくわかりません (実際、ちょっと疑問です)。もう 1 つの注意点は、データを SMS メッセージのバイナリ データ形式を表す PDU に定式化する必要があることです。これを調べることはできますが、自明ではありません。

はるかに優れたアプローチは、アプリケーションがトレイに通知を表示するようにすることです。これは、適切に動作するアプリケーションがユーザーにイベントを通知することになっている方法です。Notification クラスを見てみましょう。

于 2012-08-18T02:02:29.617 に答える
1

ApiDemos-debug.apk通常、SDK 用に選択したプラットフォームにインストールされているという名前の apk をインストールすると、次の例が見つかります。

<Api Demos> > App > Notification > IncomingMessage

通常、このパッケージの完全なソースは次の場所にあります。

<SDK root>/samples/android-xx/ApiDemos
于 2012-08-18T01:52:09.370 に答える