我想知道上次打开应用程序(即Facebook或WhatsApp)的时间。
没有root,有没有办法以编程方式确定Android上次打开应用的时间?
重要信息:
我之前提出的一个问题是,如果我保留了日志的某些变体,那么如果在安装我的Android应用程序之前使用该应用程序,我将无法确定上次使用该应用的时间。
答案 0 :(得分:1)
来自谷歌示例:
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();
}