私の根本的な問題は、アプリがバックグラウンドに置かれるか、ローテーションが行われるかを判断する方法を見つけることです。
音楽認識に使用されるオーディオ録音サービスがあります。このサービスの有効期間をインテリジェントに管理して、次のことを達成したいと考えています。
- 最終的にデバイスのローテーションになるライフサイクル イベントの間、サービスを実行し続けます。
- アプリがバックグラウンドになったらサービスを停止します (マイクを解放するため)。
onConfigurationChanged
私のアプリは、プログラムで追加されたフラグメントを含むアクションバー タブを使用しており、フラグメント レイアウトを再拡張する方法がないため、オーバーライドできません。
これらの課題を克服するための良い方法は何ですか? これまでの私の最善の解決策は、サービスのタイマーを更新することですが、代替案を検討したいと思います。音声検索を使用するとマイクの競合が発生することがよくあるため、タイマーは好きではありません。