1

ユーザーがアプリ情報アクティビティ ([設定] > [アプリケーション管理] > [アプリを選択]) に移動したときに起動できる BroadcastReceiver を作成する方法はありますか? もしそうなら、私たちはどのアプリの情報が表示されているかを知ることができますか?

ありがとう、フムラケン

4

2 に答える 2

0

いいえ、Intent放送はありません。

(また、なぜこの情報が必要なのですか?)

ユーザーがいつアプリを削除したかを知りたい場合は、PACKAGE_REMOVED intentを聞いてください。

于 2013-06-04T08:57:07.393 に答える
0

ユーザーが特定のアクティビティを開いたときに発生するブロードキャストはありません。

ユーザーが現在行っているアクティビティを知りたい場合は、アクティビティ スタックを定期的にチェックして、ユーザーが現在表示しているアクティビティを知ることができます。

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 秒ごとに起動し、現在画面に表示されているアクティビティが表示されます。探しているアクティビティと比較して、ユーザーがいつそれを呼び出したかを確認します。

于 2013-06-04T09:30:03.357 に答える