ユーザーが他のアプリケーションを使用しているときに、バックグラウンドで実行され、モーションセンサー(加速度計など)を使用してモーションデータをキャプチャするサービスを作成したいと思います。また、その時点で実行されていたアプリに基づいてモーションデータセットを区別できるようにしたいです。たとえば、サービスの出力は次のようになります。
App A : [Data set taken for the motion sensor while app A was running]
App B : [Data set taken for the motion sensor while app B was running]
...
モーションデータをキャプチャするサービスをバックグラウンドで実行することに慣れています。ただし、フォアグラウンドにあるアプリに基づいてそのデータを分離する方法がわかりません。誰かがこれを達成する方法を知っていますか?どのアプリケーションが起動/フォアグラウンドに移動されたかをどのように確認し、バックグラウンドサービスを更新して、そのアプリのデータセットの下にデータを保存しますか?
フォアグラウンドアクティビティが何であるかをサービスに見つけてもらいたいだけのようです。このような情報は、StackOverflowの他の質問で見つけることができます。要するに、あなたは使用したいと思うでしょうActivityManager.getRunningTasks()
。最上位のアクティビティは、リストの最初のアイテムです。
また、アプリのマニフェストで適切な権限をリクエストする必要があるようです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加