【安卓】判断"全新安装初次打开、升级后初次打开、第二次打开",比如可用于判断是否应显示"引导页"、!
来源:互联网 发布:matlab数据转为vtk 编辑:程序博客网 时间:2024/06/07 09:19
思路:
1.基于SharedPreferences,每次打开时,根据上次打开时记录的版本即可区分此次打开的情形。
StoredData.java:
1.Application.onCreate中调用StoredData.getThis().markOpenApp();即可。其他位置就可以根据getLaunchMode判断打开类型了。
package com.example.test;import android.app.Application;import android.content.SharedPreferences;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.text.TextUtils;public class StoredData {public static final int LMODE_NEW_INSTALL = 1; // 启动-模式,首次安装-首次启动、覆盖安装-首次启动、已安装-二次启动public static final int LMODE_UPDATE = 2;public static final int LMODE_AGAIN = 3;private boolean isOpenMarked = false;private int launchMode = LMODE_AGAIN; // 启动-模式private static StoredData instance;private SharedPreferences share; // 一般信息public static StoredData getThis() {if (instance == null)instance = new StoredData();return instance;}// -------启动状态------------------------------------------------------------// 标记-打开app,用于产生-是否首次打开public void markOpenApp() {// 防止-重复调用if (isOpenMarked)return;isOpenMarked = true;String lastVersion = share.getString("lastVersion", "");String thisVersion = getAppVersion();// 首次启动if (TextUtils.isEmpty(lastVersion)) {launchMode = LMODE_NEW_INSTALL;share.edit().putString("lastVersion", thisVersion).commit();}// 更新else if (!thisVersion.equals(lastVersion)) {launchMode = LMODE_UPDATE;share.edit().putString("lastVersion", thisVersion).commit();}// 二次启动(版本未变)elselaunchMode = LMODE_AGAIN;}public int getLaunchMode() {return launchMode;}// 首次打开,新安装、覆盖(版本号不同)public boolean isFirstOpen() {return launchMode != LMODE_AGAIN;}// -------------------------// 软件-版本public static String getAppVersion() {String versionName = "";Application app = MyApplication.getThis();try {PackageManager pkgMng = app.getPackageManager();PackageInfo pkgInfo = pkgMng.getPackageInfo(app.getPackageName(), 0);versionName = pkgInfo.versionName;} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}return versionName;}}
71 0
- 【安卓】判断"全新安装初次打开、升级后初次打开、第二次打开",比如可用于判断是否应显示"引导页"、!
- ios APP初次安装以及版本更新后,判断是否需要显示引导页
- 初次安装genymotion打开虚拟机后一片空白
- 安卓程序升级自动安装,安装完成后提示是否打开程序(个人学习笔记)
- 判断后是否打开修改窗口
- 判断文件是否打开
- 判断wifi是否打开
- 判断窗体是否打开
- 网络判断是否打开
- 安卓APP判断是否是第一次打开
- PHP判断是否是微信打开, 浏览器打开
- 判断项目的网络是否可用然后打开设置面板
- 判断程序是否已经打开
- JS 判断页面是否打开。
- C#判断文件是否打开
- C#判断文件是否打开
- 判断文件是否被打开
- 判断一个进程是否打开
- jQuery日历插件CLNDR.js
- GreenDao开源ORM框架浅析
- OCP 1Z0 053 145(同135)
- Android流量统计TrafficStats类的使用
- crm2013js关于页面禁用
- 【安卓】判断"全新安装初次打开、升级后初次打开、第二次打开",比如可用于判断是否应显示"引导页"、!
- hadoop第一弹
- 编程题目:PAT(Advanced Level) Practice 1002. A+B for Polynomials (25)
- ubuntu ip设置
- Linux 常用命令详解
- 用AsyncTask进行耗时任务
- Oozie学习笔记-安装部署与运行实例
- android账号与同步之发起同步
- selenium2.0&WebDriver环境搭配实现网站自动登录