在App启动之前检查共享首选项

时间:2014-01-12 15:23:17

标签: android

我想在应用开始前检查SharedPreferences。我想检查一个值是真还是假,取决于我想要开始不同的活动(如果值为true,我想开始一个活动;如果它是假,我想开始第二个活动)。如何在显示我的应用程序第一个屏幕之前检查它?

4 个答案:

答案 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。