在我的应用程序中,您需要获取上次在设备上启动的所有应用程序的日期和时间。我能以某种方式通过标准方式获得这些信息吗?
答案 0 :(得分:0)
只需节省每次发布的时间
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
long lastLaunchMillis = sharedPref.getLong("lastLaunch", 0);
if (lastLaunchMillis != 0) {
Calendar lastLaunch = Calendar.getInstance();
lastLaunch.setTimeInMillis(lastLaunchMillis);
//last launch found, handle
}
sharedPref.edit().putLong("lastLaunch", Calendar.getInstance().getTimeInMillis()).apply();
修改:有关其他应用的发布统计信息,请查看UsageStatsManager
。您可以在其使用here上找到一个示例。
答案 1 :(得分:0)
您可以创建Application类并从应用程序的清单文件中设置它。一步一步:
创建一个类extends Application
:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// save date to sharedpref
PreferenceManager.getDefaultSharedPreferences(this).
edit().putLong("LAST_LAUNCH_DATE_MS", new Date().getTime()).apply();
}
}
从清单文件中将其设置为您的应用:
<application
android:name="com.my.project.MyApplication"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
.....
.....
</application>
您可以从SharedPreferences
开始,以毫秒为单位获取上次启动时间。