申请上次启动的日期和时间

时间:2017-06-06 11:51:44

标签: android package-managers

在我的应用程序中,您需要获取上次在设备上启动的所有应用程序的日期和时间。我能以某种方式通过标准方式获得这些信息吗?

2 个答案:

答案 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类并从应用程序的清单文件中设置它。一步一步:

  1. 创建一个类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();
        }
    }
    
  2. 从清单文件中将其设置为您的应用:

    <application
        android:name="com.my.project.MyApplication"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        .....
        .....
    </application>
    

  3. 您可以从SharedPreferences开始,以毫秒为单位获取上次启动时间。