我想在应用开始前检查SharedPreferences
。我想检查一个值是真还是假,取决于我想要开始不同的活动(如果值为true,我想开始一个活动;如果它是假,我想开始第二个活动)。如何在显示我的应用程序第一个屏幕之前检查它?
答案 0 :(得分:6)
我想在我的应用开始之前检查共享偏好
根据定义,这是不可能的。如果您的应用尚未启动,则代码未运行,因此您的代码无法检查SharedPreferences
。
如果值为true,我想启动一个活动,如果它是假的我想开始第二个活动。在显示我的应用程序第一个屏幕之前检查它吗?
让您的活动处理一个案例(例如true
)本身。在onCreate()
中,选中SharedPreferences
,如果值为false
,请调用startActivity()
启动其他活动,然后finish()
删除当前活动(因为不再需要)。
或者,只有一个活动,但只有两个不同的片段,并根据SharedPreferences
加载正确的片段。
答案 1 :(得分:1)
您可以在开始活动中执行此操作,在onCreate
中做出决定,然后执行相应的活动。
答案 2 :(得分:1)
在onCreate方法中首先获取共享偏好值。
如果为true,则设置内容视图,即
if(sharedpreference_value == true) {
setContentView(R.layout.your_layout);
}
else {
finish();
}
答案 3 :(得分:0)
在onCreate()方法中,检查共享首选项中的值是否为false
SharedPreferences sharedPreferences= PreferenceManager.getDefaultSharedPreferences(getActivity());
boolean check = sharedPreferences.getBoolean("Check",false);
Intent intent;
if(check){
intent = new Intent(this, First.class);
else
intent = new Intent(this, Second.class);
startActivity(intent);
finish();
但请记住,布尔值check
应该存在于共享首选项中,否则它将始终返回false。