1. ホーム
  2. android

[解決済み] Androidで現在のフォアグラウンドのアクティビティコンテキストを取得するには?

2022-04-24 19:25:43

質問

ブロードキャストが実行されるたびに、フォアグラウンドアクティビティにアラートを表示したい。

どのように解決するのですか?

知っていること ActivityManager 管理する アクティビティ から情報を得ることができます。 アクティビティマネージャ . 現在フォアグラウンドで動作しているアクティビティを取得するには

ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;

アップデート 2018/10/03

getRunningTasks () は廃止されました。以下の解決策を参照してください。

このメソッドは、APIレベル21で非推奨となりました。 Build.VERSION_CODES.LOLLIPOP の時点で、このメソッドはサードパーティアプリケーションで使用できなくなりました。ドキュメント中心の recents の導入により、呼び出し側に人物情報が漏れる可能性があることを意味します。後方互換性のために、それはまだそのデータの小さなサブセットを返します:少なくとも呼び出し元自身のタスクと、おそらく機密ではないことが知られているホームなどの他のタスクです。