Android:Splash 仅首次投屏
Android:Splash screen only for the first time
我需要创建一个启动画面,它应该只在第一次安装和启动应用程序时显示,而从第二次启动应用程序时它应该显示主要 activity?如何我可以实现吗?
好的,看看您的问题,您可以执行以下操作..
首先声明 SharedPreference
的对象和我们稍后要用到的字符串。
SharedPreferences loginPreference;
String MY_PREF = "my_pref";
现在在您的 SplashActivity 的 onCreate
中,执行类似这样的操作。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// initialize SharePreference
loginPreference = getSharedPreferences(MY_PREF, Context.MODE_PRIVATE);
// this condition will do the trick.
if(loginPreference.getString("tag", "notok").equals("notok")){
// add tag in SharedPreference here..
Editor edit = loginPreference.edit();
edit.putString("tag", "ok");
edit.commit();
// your logic of splash will go here.
setContentView(R.layout.splash);
}else if(loginPreference.getString("tag", null).equals("ok")){
Intent i = new Intent(SplashActivity.this, MainActivity.class);
startActivity(i);
finish();
}
}
快乐编码..
我需要创建一个启动画面,它应该只在第一次安装和启动应用程序时显示,而从第二次启动应用程序时它应该显示主要 activity?如何我可以实现吗?
好的,看看您的问题,您可以执行以下操作..
首先声明 SharedPreference
的对象和我们稍后要用到的字符串。
SharedPreferences loginPreference;
String MY_PREF = "my_pref";
现在在您的 SplashActivity 的 onCreate
中,执行类似这样的操作。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// initialize SharePreference
loginPreference = getSharedPreferences(MY_PREF, Context.MODE_PRIVATE);
// this condition will do the trick.
if(loginPreference.getString("tag", "notok").equals("notok")){
// add tag in SharedPreference here..
Editor edit = loginPreference.edit();
edit.putString("tag", "ok");
edit.commit();
// your logic of splash will go here.
setContentView(R.layout.splash);
}else if(loginPreference.getString("tag", null).equals("ok")){
Intent i = new Intent(SplashActivity.this, MainActivity.class);
startActivity(i);
finish();
}
}
快乐编码..