質問

私のアプリケーションは、オーディオを再生するには、リモートサービスを使用しています。ように私はこれを行います アクティビティは、オーディオの再生を所有していない - ユーザーは、いくつかをトリガすることができます 音声は1つのActivityから再生すると、音声はしていきます 彼らはアプリをナビゲートとしてプレー。私は、しかし、伝えたいん 一時停止またはユーザーがアプリを「アンロード」ときに、オーディオの再生を停止するサービス いずれか、バックアウト表示をロックする、またはホーム押すことで。アプリはシングルだったとき 活動は、私はonPauseでこれをやっていました。だから、私は、私は基本的に思いますよ アプリケーション/タスクレベルで「onPause」を探しています。そのようなことを行います 存在しますか?ない場合は、通知さばかりの「ベストプラクティス」の方法は何ですか タスクは、どちらかのすべてのバックアップ、ユーザが保留にされていること 道アウトまたはホーム打つ?

役に立ちましたか?

解決

うーむ...残念ながら、私はそこに簡単な答えはありません疑います。私は内蔵のメディアプレーヤーとパンドラは簡単に、ユーザーはそれを黙っ作るためのアプリに戻って取得できるように、通知を使用する理由それはだと思います。

あなたの活動の流れがかなり線形である場合は、アプリケーションのバックアウトすると、初期活性のバックアウトと同じである。

私は1つのシナリオで使用されるトリックは、各活性を有することonPause()onResume()でサービスを通知しました。サービスは、これらを監視するだろうし、それがある程度の期間で、その後のonPause()なしonResume()を得た場合、ユーザは(HOME、電話の着信は、着信テキストメッセージ、通知を経由して、いくつかのアプリへの対応などを行ったと仮定しました)。

また、そのシナリオを処理するために、ACTION_SCREEN_OFFブロードキャストIntentsを監視することができます。

私は私がより良い銀の弾丸の答えを持っていないことを申し訳ありません - おそらく他の誰かが良いアイデアを持っています。

他のヒント

私はやや似たような状況にあった、と基本的に私はマークが提案するものでした。むしろ別の通知よりも、私は単にサービスが私registerCallbackへの呼び出し()および各アクティビティはとにかく行うために必要なunregisterCallback()APIを、数えていた。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top