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. Android(安卓)Wifi模块分析(三)
  2. android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
  3. Android(安卓)热点开关状态的判断和获取热点ssid
  4. Android(安卓)Activity的启动
  5. Ionic 运行报错No resource identifier found for attribute 'ap
  6. android 开机直接运行app并当做手机桌面
  7. Android中判断网络功能是否可用
  8. Android的网络状态判断
  9. Android(安卓)任务和回退堆栈---启动任务

随机推荐

  1. Android(安卓)开发获取手机运行内存工具
  2. 开源项目Universal Image Loader for And
  3. android JNI tips
  4. android sqlite foreign key !!!!!!!!!!
  5. Android全局异常捕捉
  6. Android:Bundles in Activities and Fragm
  7. K线图和分时图
  8. New Work Style - Smart Punching
  9. Notification应用
  10. android.widget.TextView.setText()