2016-03-22 2 views
3

Без root, есть ли способ программно определить, когда приложение было открыто в Android?Есть ли способ программно определить, когда приложение было открыто в Android?

Я хотел бы знать, когда, например, Facebook или WhatsApp и т. Д. 20/03/2016?

Важная информация:

Один из вопросов, я по поводу предыдущих предложений, если я сохранил некоторые вариации журнала, то я не смог бы определить, когда приложение использовался последний раз, если оно было использовано до моего Android-приложение было установлено.

+0

сохранить лог-файл, который обновляется при открытии-закрытии приложения – Stultuske

+2

Сохранить время открытия приложения в предпочтении и обновил его в следующий раз, теперь, в первый раз, когда вы запускаете свое приложение, проверьте это значение предпочтения и установите свою логику так, как хотите !!!!! – Radhey

+0

Обратите внимание, что полный системный журнал отображается только в том случае, если у вас есть root. –

ответ

1

Из примеров Google:

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; 
    } 

И их вы можете использовать это:

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

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

Работает ли это без root? – fraruphe

+0

Я так думаю, единственное, что было добавлено в уровне API 21 –

+0

, как это сохранить дату, когда последнее приложение было использовано – fraruphe

Смежные вопросы