在Android中,在应用第一次启动或者应用的新版本的第一次启动的时候,为了判断应用是首次启动应用程序,最简单的方法,就是:
1、从manifest中读取到android:versionCode,
2、然后将其与preference中的versioncode做比较,
3、当preference中的versioncode小于manifest中的版本号时,则代表此次启动为该版本的首次启动。
PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, 0);
int currentVersion = info.versionCode;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
int lastVersion = prefs.getInt(VERSION_KEY, 0);
if (currentVersion > lastVersion) {//如果当前版本大于上次版本,该版本属于第一次启动......    //将当前版本写入preference中,则下次启动的时候,据此判断,不再为首次启动prefs.edit().putInt(VERSION_KEY,currentVersion).commit();
}

Android 判断应用 第一次启动相关推荐

  1. 怎样判断ios app 第一次启动

    我已经看到这个问题很多次了.今天抽空研究了一下  首次运行的应用程序加入一些help 或者 宣传动画 现在变的很重要了.  一个有用的例子是发送一个分析实例.这可能是一个很好的方法来确定有多少人下载实 ...

  2. Android判断app是不是第一次启动

    判断APP是不是第一次启动 基本思路就是,在第一次启动APP的时候,在本地保存一个布尔数据进行记录.如果是第一次启动保存为true,然后进行判断,如果是true,则提示是第一次启动并且修改为false ...

  3. 【Android 安全】DEX 加密 ( 代理 Application 开发 | 解压 apk 文件 | 判定是否是第一次启动 | 递归删除文件操作 | 解压 Zip 文件操作 )

    文章目录 一.判定是否是第一次启动 二.递归删除文件操作 三.解压 Zip 文件操作 四.解压操作相关代码 参考博客 : [Android 安全]DEX 加密 ( 常用 Android 反编译工具 | ...

  4. Android内核开发:为什么刷机后系统第一次启动会很慢?

    转自:http://ticktick.blog.51cto.com/823160/1677216 在做Android内核开发的过程中,我们会发现,每次编译完系统源码,烧录到设备/手机中后,第一次启动都 ...

  5. iOS经典讲解之判断App是否第一次启动

    作者:Loving_iOS 转载请标明出处:http://blog.csdn.net/loving_ios/article/details/50435840 方法一.在didFinishLaunchi ...

  6. android实现应用程序只有在第一次启动时显示引导界面 ,以后就不在显示了

    程序安装后第一次启动: 启动页–>功能介绍页–>系统主页 以后启动: 启动页–>系统主页 所以在启动页中判断一下就可以了 可以弄一个文件保存一个状态,推荐用SharedPrefere ...

  7. 【Android 小功能】启动 App 时实现启动页、引导页功能,并且只在第一次启动 App 时跳入引导页面

    [Android]如何实现启动APP时引导页.欢迎页功能之(一)引导页功能的实现 [Android]如何实现启动APP时引导页.欢迎页功能设置之(二)设置只在第一次启动APP时跳入引导界面

  8. Android系统刷机后第一次启动很慢的原因

    转自:Android系统刷机后第一次启动很慢的原因 - 走看看 在做Android内核开发的过程中,我们会发现,每次编译完系统源码,烧录到设备/手机中后,第一次启动都会很慢很慢,要好几分钟甚至十几分钟 ...

  9. 【Android】如何实现启动APP时引导页、欢迎页功能设置之(二)设置只在第一次启动APP时跳入引导界面

    这会先看效果图: (二)设置欢迎页并判断是否程序实第一次开启,来判断是否加载引导页. 实现关键功能: 1.欢迎页面的定时设置 2.判断 程序是否是第一次启动,如果是则跳入引导页,否则跳入主界面 3.记 ...

最新文章

  1. 第十一周总结CoreIDRAW
  2. 为何写flash的时候要地址左移一位?
  3. java 按键框架,如何在java中更改框架?
  4. 【Linux常用命令】grep命令
  5. SAP里删除trace文件的方法
  6. [转载]舌尖上的清华 I
  7. Laravel源码解析之HTTP Kernel
  8. 【零基础学Java】—static关键字概述(十六)
  9. 共享办公室租赁,突出市场重围
  10. 使用inno setup制作安装包
  11. isupper()函数
  12. 踏上Oracle ebs的道路
  13. 手机客户端设置同济邮箱的方法
  14. Failed to start LSB: Enable AMQP service provided by RabbitMQ broker.
  15. mysql表date类型长度_mysql中数据类型的长度解释
  16. 白炽灯护眼还是LED护眼?盘点专业护眼的LED护眼灯
  17. 英语日常用语900句(5)
  18. Anaconda3、TensorFlow和keras简单安装方法(较详细)
  19. loadrunne-- Analysis 分析器
  20. pdc-textout(_PDC-照片中的星期日

热门文章

  1. 【大会】编码、画质评价与网络协议的未来
  2. LiveVideoStackCon 2018展现多媒体技术生态多样性
  3. Atlas元数据存储模型分析
  4. 使用cookie登录时记录登录名
  5. 左神算法:可见的山峰对数量(有重复值的情况)(Java版)
  6. 【Python】判断字符串中是否含有某个子串
  7. C# (逻辑与) ||(逻辑或)优先级辨析
  8. ACM练习 链表排序 II 【WA】
  9. JVM详解之:类的加载链接和初始化
  10. JVM系列之:对象的锁状态和同步