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. }  

更多相关文章

  1. Linux/Android——Input系统之InputMapper 处理 (八)
  2. [Android实例] 基于android的远程视频监控系统
  3. 在任意位置获取应用程序Context
  4. Android存储系统之架构篇
  5. 基于网络音频的Android播放程序简单示例

随机推荐

  1. Android实现图片叠加效果的两种方法
  2. Android sqlite约束-视图-检查
  3. 老生常谈——Android冷启动优化
  4. Android培训班(35)
  5. Bitmap Error, cannot access an invalid
  6. Android 自定义 地图 室内
  7. Android(安卓)sdk manager 显示 “Done l
  8. Android 获取证书签名以及key hash散列值
  9. js判断ios、android
  10. android实现简单左滑删除控件