我只是想在第一次运行时开始一项活动。所以在我运行之后它应该永远不会再打开。此活动添加了
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
所以此活动首先开始。 我有一个变量可以帮助我决定这个Activity是否第一次启动(我用SharedPreferences保存它,称为sem_first_time)。当它为0时它是第一次,如果没有那么这个Activity必须完成并启动另一个。 这是我的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences data = getSharedPreferences("datas",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = data.edit();
first_start = data.getInt("fstart", 0);
if (first_start == 1)
{
finish();
Intent start = new Intent(this, Main.class);
startActivity(start);
}
setContentView(R.layout.first_start);
我有一个Button,它将first_start设置为1
public void create (View view)
{
SharedPreferences data = getSharedPreferences("datas",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = data.edit();
first_start = 1;
editor.putInt("fstart", first_start);
...
}
但是,当我再次显示此活动时,我启动此应用程序......出了什么问题?
答案 0 :(得分:0)
这种情况正在发生,因为这是Launcher活动,您在启动其他活动之前正在完成活动。它应该像
if (first_start == 1)
{
Intent start = new Intent(this, Main.class);
startActivity(start);
finish();
}