2013-07-05 8 views
9

So erhalten Sie die Liste aller Aktivitäten in unserer Anwendung, die auf dem Gerät ausgeführt werden.Liste aller Aktivitäten in unserer Anwendung, die auf dem Gerät ausgeführt werden

Zum Beispiel: PDF-Generierung und E-Mail-Aktivitäten enthalten.

Ich kann mit dem Code für Aktivitäten überprüfen wie:

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; 

    componentInfo.getPackageName(); 

Dies ist jedoch Informationen über die laufenden Aktivitäten geben wird, die die Top-Aktivität ist.

Meine Idee ist zu Whitelist die Aktivitäten laufen, so dass meine Drittanbieter-Anwendung es auf dem Gerät ausführen kann. Also brauche ich im Grunde alle laufenden Aktivitäten in der Anwendung.

+0

Suchen Sie nur nach einer Kodierungslösung oder würde eine Anwendung von Drittanbietern den Trick machen? – Chucky

+0

In diesem Fall klingt das vielversprechend http://www.activity-logger.com/features-android.html – Chucky

+0

Muss ich es auf meinem Android-Gerät installieren, in dem meine Anwendung ausgeführt wird? –

Antwort

-3

Dies ist die Art und Weise alle laufenden Aktivitäten in der Anwendung zu bekommen -

try { 
    ActivityInfo[] list = getPackageManager().getPackageInfo(getPackageName(),PackageManager.GET_ACTIVITIES).activities; 

     for(int i = 0;i< list.length;i++) 
     { 
      System.out.println("List of running activities"+list[i].name); 

     } 
    } 

    catch (NameNotFoundException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
+6

Dies scheint alle Aktivitäten in der aktuell laufenden Anwendung aufzulisten, NICHT auf dem Gerät –

+12

Dies listet alle Aktivitäten im App-Manifest auf, wenn ich es ausführe, nicht nur alle laufenden Aktivitäten. –

+1

das scheint die falsche Antwort zu sein, weil der Doc sagt: Array aller Tags unter enthalten, oder null, wenn es keine gab. Dies wird nur ausgefüllt, wenn das Flag GET_ACTIVITIES gesetzt wurde. – Kitesurfer

0

I AppLifecycleHandler in this post wie dokumentiert gefunden habe eine große Lösung zu sein, zu wissen, was passiert. Ich benutze es hauptsächlich, um nur zu zählen und zu bereinigen, wenn der Benutzer die App benutzt, aber Sie können es mit einem Array implementieren, in dem Sie alle laufenden Aktivitäten speichern, so dass Sie immer anrufen können, um herauszufinden, was gerade läuft.