Android 仅在首次启动时显示活动
我有一个叫做DataActivity的活动,我希望它在我第一次打开应用程序时就显示出来,以后再也不会显示。我希望我的主要活动成为我的第一个活动,有人能告诉我我是怎么做的吗?(我对编码还很陌生,所以如果您能给我一点代码,我将不胜感激……)谢谢!Android 仅在首次启动时显示活动,android,sharedpreferences,startup,Android,Sharedpreferences,Startup,我有一个叫做DataActivity的活动,我希望它在我第一次打开应用程序时就显示出来,以后再也不会显示。我希望我的主要活动成为我的第一个活动,有人能告诉我我是怎么做的吗?(我对编码还很陌生,所以如果您能给我一点代码,我将不胜感激……)谢谢! 亲切的问候!:) 您可以将一个条目保存到SharedReferences中,指示DataActivity已显示一次,然后在DataActivityonCreate()中执行以下操作: boolean dataShownOnce = checkSharedP
亲切的问候!:) 您可以将一个条目保存到
SharedReferences
中,指示DataActivity
已显示一次,然后在DataActivity
onCreate()中执行以下操作:
boolean dataShownOnce = checkSharedPreferencesForDataActivityShown();
if (dataShownOnce) {
// Go to MainActivity
startActivity(new Intent(this, MainActivity.class);
finish();
} else {
// Showing DataActivity for the first time, continue with the normal logic
}
这里有一个关于使用SharedReferences
的非常好的教程:尝试下面的代码:
public class HelperActivity extends Activity {
SharedPreferences prefs = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Perhaps set content view here
prefs = getSharedPreferences("com.mycompany.myAppName", MODE_PRIVATE);
}
@Override
protected void onResume() {
super.onResume();
if (prefs.getBoolean("firstrun", true)) {
// Do first run stuff here then set 'firstrun' as false
// start DataActivity because its your app first run
// using the following line to edit/commit prefs
prefs.edit().putBoolean("firstrun", false).commit();
startActivity(new Intent(HelperActivity.this , DataActivity.class));
finish();
}
else {
startActivity(new Intent(HelperActivity.this , MainActivity.class));
finish();
}
}
}
此活动将通过在SharedReference中存储布尔值来帮助您决定是否第一次运行应用程序,并根据此操作启动相应的活动
将此活动设置为启动程序活动。调用startActivity(intent)启动MainActivity后,请调用finish();在DataActivity上。可能重复感谢!有一个答案,这是有点一样的事情,但感谢你的教程!也帮了我很多!