2016-09-12 2 views
0

Ich habe ein Android-Programm, das auf dem Ziel ist, die aktuelle laufende Anwendung angezeigt wird verwendet werden. Ich habe auch eine BroadcastReceiver und eine Service läuft in meiner App.Anzeige laufenden laufenden Anwendung in Android programmatisch

Mein Problem ist jedoch, dass dieser Code immer den Namen des Projektpakets und NICHT die aktuell ausgeführte Anwendung anzeigt.

Code:

ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningAppProcessInfo> RAP= mActivityManager.getRunningAppProcesses(); 

    for(ActivityManager.RunningAppProcessInfo processInfo: RAP){ 
     Log.e("Process name ", "" + processInfo.processName); 
    } 

Ich bin mit Eibisch OS. Jede Hilfe würde sehr geschätzt werden. Vielen Dank!

Antwort

0

Sie können mithilfe eines AccessibilityService feststellen, welche App gerade ausgeführt wird.

Der Benutzer muss Ihren Accessibility-Dienst in seinen Einstellungen aktivieren, damit er funktioniert und Sie müssen windowStateChanged-Ereignisse empfangen, indem Sie android:accessibilityEventTypes="typeWindowStateChanged" in Ihrer Accessibility-Service-Deklarations-XML deklarieren.

Sie können mehr über AccessibilityServices hier lesen: https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html

Verwandte Themen