3

そのため、このガイドラインに従って、SMS を受信したときに簡単なトーストを表示しました。アプリの実行中は問題なく動作しますが、設定に移動してアプリを強制終了すると、動作しなくなります。

ここで同様の質問についてStackOverflowで多くの回答を確認しましたが、アプリがデバイスのデフォルトのSMSアプリ(Android 4.4+)。それは...ですか?

サービスでさえ停止できると考えてください。そうなった場合、サービスはもはや解決策ではありません。

API レベル 19+ に興味があります

ありがとう

4

1 に答える 1

5

残念ながら、アプリがデフォルトの SMS アプリでなければ、これは実際には不可能です。

ユーザーがアプリを強制的に閉じると、アプリは停止状態に戻り、暗黙的なブロードキャスト用に静的に登録されたレシーバーは、SMS_RECEIVEDアプリが明示的に再起動されるまで機能しません。たとえば、ユーザーが明示的なランチャー ショートカットからアプリを起動した場合などです。

一方、デフォルトの SMS アプリはSMS_DELIVERブロードキャストで配信されますが、これは明示的です。デフォルトが強制的に停止された場合でも、そのブロードキャストは他の明示的な開始と同じように動作し、停止状態Intentから抜け出します。

適時性が重要な問題ではない場合は、必要に応じて (たとえば、起動するたびに) SMS プロバイダーにクエリを実行し、最後にチェックしてから新しいメッセージを見逃していないかどうかを判断できます。

于 2015-12-01T04:25:42.943 に答える