首页 > 解决方案 > 如何在安装页面后只运行一次该页面

问题描述

我希望此代码在安装应用程序后只运行一次。第1页有一个按钮,点击后,用户将被引导到第2页。第2页是免责声明页面,勾选复选框并单击同意按钮后,用户将被引导到主页。当用户第二次点击时,此免责声明页面不应再次打开。我试图修改我的代码,但我不能因为按钮,因为我不知道如何使用它。

第 1 页

import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    public Button btn_Shap;

    public void first(){

        btn_Shap = (Button)findViewById(R.id.btn_Shap);
        btn_Shap.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent btn = new Intent(MainActivity.this, disclaimer.class);

                startActivity(btn);
            }
        });
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        first();

    }
}

第2页

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class disclaimer extends AppCompatActivity {

    public Button button2;
    public Button button1;


    public void second(){

        button2 = (Button)findViewById(R.id.button2);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent btn = new Intent(disclaimer.this, home.class);

                startActivity(btn);
            }
        });
    }

    public void first(){

        button1 = (Button)findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent btn = new Intent(disclaimer.this, MainActivity.class);

                startActivity(btn);
            }
        });
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_disclaimer);

        second();
        first();

    }
}

标签: javaandroid

解决方案


在免责声明页面内使用共享首选项存储一个布尔值,并在打开免责声明页面之前对其进行检查。像这样

在免责声明页面内

  SharedPreferences settings = getSharedPreferences("prefs", 0);
         SharedPreferences.Editor editor = settings.edit();
         editor.putBoolean("firstRun", false);
         editor.commit();

在打开免责声明页面之前

SharedPreferences settings = getSharedPreferences("prefs", 0);
    boolean firstRun = settings.getBoolean("firstRun", true);
    if ( firstRun )
    {
     //Open desclaimer
    }else{
//Do not open desclaimer
}

推荐阅读