Android判断程序是否第一次运行

Android 判断应用 第一次启动

在Android中,在应用第一次启动或者应用的新版本的第一次启动的时候,为了判断应用是首次启动应用程序,最简单的方法,就是:
1、从manifest中读取到android:versionCode,
2、然后将其与preference中的versioncode做比较,
3、当preference中的versioncode小于manifest中的版本号时,则代表此次启动为该版本的首次启动,

关键代码很简单:
[java]  view plain copy
  1. PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, 0);  
  2. int currentVersion = info.versionCode;  
  3. SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);  
  4. int lastVersion = prefs.getInt(VERSION_KEY, 0);  
  5. if (currentVersion > lastVersion) {  
  6.      //如果当前版本大于上次版本,该版本属于第一次启动  
  7.      ......   
  8.      //将当前版本写入preference中,则下次启动的时候,据此判断,不再为首次启动  
  9.      prefs.edit().putInt(VERSION_KEY,currentVersion).commit();  
  10. }  
 

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


程序安装后第一次启动:
启动页-->功能介绍页-->系统主页
以后启动:
启动页-->系统主页

 
 
所以在启动页中判断一下就可以了
 

可以弄一个文件保存一个状态,推荐用SharedPreferences。

1.可以定义一个变量来判断程序是第几次运行,如果是第一次则跳转到引导的Activity,如果不是第一次则执行系统主页。

判断系统是第一次运行的代码实现如下:

在Activity中添加代码:

//使用SharedPreferences来记录程序的使用次数

    SharedPreferencespreferences;

 

   /** Called when the activity is firstcreated. */

   @Override

   publicvoidonCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

       

        //读取SharedPreferences中需要的数据

        preferences = getSharedPreferences("count",MODE_WORLD_READABLE);

        int count = preferences.getInt("count", 0);

        //判断程序与第几次运行,如果是第一次运行则跳转到引导页面

        if (count == 0) {

            Intentintent = newIntent();

            intent.setClass(getApplicationContext(),BootActivity.class);

            startActivity(intent);

            finish();

        }

       

        Editor editor = preferences.edit();

        //存入数据

        editor.putInt("count", ++count);

        //提交修改

        editor.commit();

 

2.还有人说可以这样实现。第一次启动时,因为没SharedPreferences文件,所以为初始化值,比如true要显示,然后在将这个值赋为false,保存后,下次启动是读取SharedPreferences文件,找到值就为false。你在后面写判断要不要显示引导界面就好了。


[java]  view plain copy print ?
  1. SharedPreferences sharedPreferences = this.getSharedPreferences("share", MODE_PRIVATE);  
  2.           
  3. boolean isFirstRun = sharedPreferences.getBoolean("isFirstRun"true);  
  4. Editor editor = sharedPreferences.edit();  
  5.   
  6. if (isFirstRun)  
  7. {  
  8.     Log.d("debug""第一次运行");  
  9.     editor.putBoolean("isFirstRun"false);  
  10.     editor.commit();  
  11. else  
  12. {  
  13.     Log.d("debug""不是第一次运行");  
  14. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值