können Sie Anwendungen unterscheiden durch Abfragen für Top Aktivität:
private String lastPackageName;
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
// get the info from the currently running task
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
Log.d("topActivity", "CURRENT Activity ::"
+ taskInfo.get(0).topActivity.getClassName());
ComponentName componentInfo = taskInfo.get(0).topActivity;
String packageName = componentInfo.getPackageName();
if(lastPackageName != packageName){
//Probably application changed
}
lastPackageName = packageName;
Aber es wird an Ihnen, wie oft Sie diese Informationen abfragen .. Sie können jedes Mal Benutzer drückt wieder Polling für diese Informationen versuchen , zu Hause Tasten oder drückt auf den Bildschirm .. Aber es wird offensichtlich zu viel und schlechte Polling-Technik.
Scheint, als ob diese Frage schon zuvor gestellt wurden ohne und bekam keine ausreichende Antwort: How to be notified when foreground (top) activity (application) changes
Quelle: https://stackoverflow.com/a/4753333/1276374
Sie sollten diese Frage für Bounty öffnen. Meine Antwort ist eindeutig keine Antwort wert, akzeptiert zu werden, ich bin auch neugierig auf mögliche Lösungen –