0

一部のアプリケーションが を使用してフォアグラウンドで実行されていることを知るための解決策はありますAlarmManagerか?

基本的に私の質問は、android のimportanceように各プロセスに関連付けられた引数があるということprocInfos.get(i).importance==100です。この変数が 100 の場合、そのアプリケーションのメイン アクティビティは現在フォアグラウンドであり、その値が 400 の場合はバックグラウンドであることを意味します。 .だから私の質問はAlarmManager、アンドロイドで使用している特定のアプリケーションのこの変数の値の変化を知ることができますか?

4

1 に答える 1

1

Android では、この変数が 100 の場合は、そのアプリケーションのメイン アクティビティが現時点でフォアグラウンドにあり、その値が 400 の場合はバックグラウンドにあることを意味します。

プロセスは、フォアグラウンド アクティビティまたはフォアグラウンド サービス ( 経由)のいずれかによって、フォアグラウンド優先度を持つことができますstartForeground()。AFAIK、両方がありますIMPORTANCE_FOREGROUND

私の質問は、 Android で AlarmManager を使用する特定のアプリケーションのこの変数の値の変化を知ることができますか?

まあ、AlarmManagerそれがあなたの言いたいことなら、確かに実行中のプロセス情報を取得できます。ただし、実行中のプロセス情報は、情報を要求した時点での状態のスナップショットにすぎません。ほんの 1 ミリ秒前であっても、プロセスの重要度がその時点から変化している可能性は非常に高いです。

于 2012-12-12T20:57:24.480 に答える