我有主要活动(条款和条件)和注册活动以及应用程序中的其他活动。一旦用户同意并在安装后注册到应用程序,用户不应再次看到这两个页面。即使他没有点击退出就突然退出,那些活动也不应该再次出现。我使用了共享偏好。它正在工作,但是当用户没有点击退出并返回时,活动再次出现。请帮帮我。。谢谢朋友。。
问问题
85 次
3 回答
1
试试这个代码 这个语句将检查活动是否在之前或第一次运行并做出相应的响应
private boolean isFirstTime() {
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean ranBefore = preferences.getBoolean("RanBefore", false);
if (!ranBefore) {
// first time
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("RanBefore", true);
editor.commit();
}
return !ranBefore;
}
于 2013-08-03T08:31:19.163 回答
0
使用一次屏幕作为启动活动。在其内部onResume()
,检查 sharedPreference 值。
如果 pref 值不是默认值,则调用下一个活动并完成此操作。
如果 pref 是默认值,则更改它。
于 2013-08-03T08:35:55.240 回答
0
根据我的理解,您需要有一个切换器标志(可能是需要在应用程序中出现的布尔标志),并且在您的应用程序启动时,检查 BaseActivity 并根据您的要求将帐篷传递给活动。例如,
public class Test extends Activity {
private static final String TAG = Test.class.getSimpleName();
private boolean isSkip= Boolean.FALSE;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (isSkip) {
// Take the user to second Activity
startActivityB();
} else {
// Take the user to first setup Page
startActivityA();
}
}
private void startActivityA() {
Intent startA= new Intent(this, ActivityA.class);
startActivity(startA);
}
private void startActivityB() {
Intent startB = new Intent(this, ActivityB.class);
startActivity(startB);
}
}
每当活动 B 开始时,更新数据库的 isSkip 标志。
于 2013-08-03T08:51:42.447 回答