2016-03-22 1 views
3

Ohne Root, gibt es eine Möglichkeit programmgesteuert kann ich feststellen, wann eine App zuletzt in Android geöffnet wurde?Gibt es programmatisch eine Möglichkeit zu bestimmen, wann eine App zuletzt in Android geöffnet wurde?

Ich würde gerne wissen, wann zum Beispiel Facebook oder WhatsApp etc. zuletzt geöffnet wurde, z. 20/03/2016?

Wichtige Info:

Eine Frage, die ich vorherigen Vorschläge sind in Bezug auf ist, wenn ich eine gewisse Variation von log dann gehalten würde ich nicht in der Lage sein, zu bestimmen, wann eine App zuletzt verwendet wurde, wenn es zuvor verwendet wurden meine Android-Anwendung wurde installiert.

+0

ein Logfile halten, die aktualisiert wird, wenn die App-Öffnen Schließen – Stultuske

+2

App-Öffnungszeit in Präferenz und speichern das nächste Mal aktualisiert, jetzt zum allerersten Mal, wenn Sie Ihre Anwendung starten, überprüfen Sie diesen Präferenzwert und stellen Sie Ihre Logik so ein, wie Sie wollen !!!!! – Radhey

+0

Beachten Sie, dass das vollständige Systemprotokoll nur sichtbar ist, wenn Sie root haben. –

Antwort

1

von Google-Beispiele:

https://github.com/googlesamples/android-AppUsageStatistics

public List<UsageStats> getUsageStatistics(int intervalType) { 
     // Get the app statistics since one year ago from the current time. 
     Calendar cal = Calendar.getInstance(); 
     cal.add(Calendar.YEAR, -1); 

     List<UsageStats> queryUsageStats = mUsageStatsManager 
       .queryUsageStats(intervalType, cal.getTimeInMillis(), 
         System.currentTimeMillis()); 

     if (queryUsageStats.size() == 0) { 
      Log.i(TAG, "The user may not allow the access to apps usage. "); 
      Toast.makeText(getActivity(), 
        getString(R.string.explanation_access_to_appusage_is_not_enabled), 
        Toast.LENGTH_LONG).show(); 
      mOpenUsageSettingButton.setVisibility(View.VISIBLE); 
      mOpenUsageSettingButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        startActivity(new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)); 
       } 
      }); 
     } 
     return queryUsageStats; 
    } 

Und sie können Sie verwenden:

http://developer.android.com/intl/es/reference/android/app/usage/UsageStats.html#getLastTimeUsed()

if(mUsageStats.getPackageName().equals("YOUR PACKAGE NAME")){ 
    mUsageStats.getLastTimeUsed(); 
} 
+0

Funktioniert das ohne root? – fraruphe

+0

Ich denke schon, das Einzige, was es in API-Level 21 –

+0

hinzugefügt wurde, wie ein Datum beibehalten, wenn eine Anwendung zuletzt verwendet wurde – fraruphe