ユーザーがアプリ情報アクティビティ ([設定] > [アプリケーション管理] > [アプリを選択]) に移動したときに起動できる BroadcastReceiver を作成する方法はありますか? もしそうなら、私たちはどのアプリの情報が表示されているかを知ることができますか?
ありがとう、フムラケン
ユーザーがアプリ情報アクティビティ ([設定] > [アプリケーション管理] > [アプリを選択]) に移動したときに起動できる BroadcastReceiver を作成する方法はありますか? もしそうなら、私たちはどのアプリの情報が表示されているかを知ることができますか?
ありがとう、フムラケン
ユーザーが特定のアクティビティを開いたときに発生するブロードキャストはありません。
ユーザーが現在行っているアクティビティを知りたい場合は、アクティビティ スタックを定期的にチェックして、ユーザーが現在表示しているアクティビティを知ることができます。
while(true) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runTaskInfo = am.getRunningTasks(1);
String pkg = runTaskInfo.get(0).topActivity.getPackageName();
String activity = runTaskInfo.get(0).topActivity.getClassName();
String tmp = pkg + " : " + activity;
Thread.sleep(1000);
}
これをスレッドで実行すると、1 秒ごとに起動し、現在画面に表示されているアクティビティが表示されます。探しているアクティビティと比較して、ユーザーがいつそれを呼び出したかを確認します。