Android 应用第一次运行时,引导页面的设置方法(只让程序Acitivity运行一次的设置方法)

来源:互联网 发布:mac 双系统 打游戏卡 编辑:程序博客网 时间:2024/05/16 15:31

我们在下载了Android应用启动时候经常会出现一个引导页面,这个页面只会在程序第一次运行显示,下面贴出代码片段:

[java] view plaincopyprint?
  1. public class LoginActivityextends Activity {
  2. private SharedPreferences preferences;
  3. private Editor editor;
  4. private OutputStream os;
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.login);
  9. preferences = getSharedPreferences("phone", Context.MODE_PRIVATE);
  10. //判断是不是首次登录,
  11. if (preferences.getBoolean("firststart",true)) {
  12. editor = preferences.edit();
  13. //将登录标志位设置为false,下次登录时不在显示首次登录界面
  14. editor.putBoolean("firststart",false);
  15. editor.commit();
  16. Intent intent = new Intent("com.yutao.business.GUIDE");
  17. startActivity(intent);
  18. finish();
  19. }
  20. login();
  21. }


上面的代码自测没有问题,下面转载另外一位网友的分享

Android 中设置只是程序第一次运行才显示的界面

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

所以在启动页中判断一下就可以了
可以弄一个文件保存一个状态,推荐用SharedPreferences。

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

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

在Activity中添加代码:

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

一下是实现的代码:

[java] view plaincopyprint?
  1. public void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. setContentView(R.layout.main);
  4. preferences = getSharedPreferences("count",MODE_WORLD_READABLE);
  5. int count = preferences.getInt("count",0);
  6. //判断程序与第几次运行,如果是第一次运行则跳转到引导页面
  7. if (count == 0) {
  8. Intent intent = new Intent();
  9. intent.setClass(getApplicationContext(),LaunchGuideViewActivity.class);
  10. startActivity(intent);
  11. this.finish();
  12. }
  13. Editor editor = preferences.edit();
  14. //存入数据
  15. editor.putInt("count", ++count);
  16. //提交修改
  17. editor.commit();</STRONG></SPAN>
  18. public void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.main);
  21. preferences = getSharedPreferences("count",MODE_WORLD_READABLE);
  22. int count = preferences.getInt("count",0);
  23. //判断程序与第几次运行,如果是第一次运行则跳转到引导页面
  24. if (count == 0) {
  25. Intent intent = new Intent();
  26. intent.setClass(getApplicationContext(),LaunchGuideViewActivity.class);
  27. startActivity(intent);
  28. this.finish();
  29. }
  30. Editor editor = preferences.edit();
  31. //存入数据
  32. editor.putInt("count", ++count);
  33. //提交修改
  34. editor.commit();