java - 如何在安装页面后只运行一次该页面
问题描述
我希望此代码在安装应用程序后只运行一次。第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();
}
}
解决方案
在免责声明页面内使用共享首选项存储一个布尔值,并在打开免责声明页面之前对其进行检查。像这样
在免责声明页面内
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
}
推荐阅读
- php - 如果另一个表中存在重复项,则更改自动增量值
- python - 如何使用 lxml 正确格式化 xml 文件?
- java - 如何将 Guardian API 添加到依赖项
- python - LinkedIn 自动“登录”点击 Python+Selenium
- c# - 在变量中存储 2^256 个大整数值
- r - 如何解析多个列表的列表并将其转换为 R 中的数据框?
- spring - 在 Spring Security 中从托管 bean 调度到 j_spring_security_check 的问题?
- c# - C# 中带有 SetWindowTextW 的俄语字符
- python - unpickled byte 数组的文件写入默认没有设置权限
- java - 如何解决错误“数据截断:第 1 行的列 'id_brand' 的值超出范围”?