我正在开发一个应用程序,我必须在应用程序生命周期中只显示一次活动。
我正在做的是MainActivity.java
我正在呼叫Activity 1
,所以当我搬进我的应用后,每当我回到MainActivity.java
我{{1} }} 叫做。我只想展示一次。
当用户杀死应用并重新启动时,应再次显示Activity 1
。
以下是我在Activity 1
中所做的事情:
MainActivity.java
我尝试使用以下代码,但只在第一次安装应用时运行一次。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startActivity(new Intent(MainActivity.this,
Activity1.class));
}
如何修改上述代码,以满足我的要求。
任何形式的帮助都将受到赞赏。
答案 0 :(得分:0)
更改
return !ranBefore
到
return ranBefore
在我看来,你总是返回相同的东西,而不是你初始化的变量。此外,您可以将代码直接在该方法中启动Activity
。那你甚至不必担心return
声明。更改SharedPreferences
修改强>
您可以在SharedPreferences
中将onCreate()
值设置为false。如果你去另一个时没有完成Activity
,如果它是你的主Activity
那么你可能不想在退出应用程序之前完成它
答案 1 :(得分:0)
您应该在ranBefore
onDestroy
设置为false
@Override
public void onDestroy()
{
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("RanBefore", false);
editor.commit();
}
答案 2 :(得分:0)
我使用SharedPreferences
解决了这个问题。我在Splash上做了什么我在SP
中输入了一些值,在MainActivity
上我检查过,如果值匹配显示活动,否则不要打开对话框。在keyCodeBack()
,我已经清除SP
,这有助于我满足我的要求。
答案 3 :(得分:0)
使用共享偏好设置..
要杀死活动,请在你的onClick()..
上使用class.finish()