Android 如果插入默认数据,则隐藏意图

Android 如果插入默认数据,则隐藏意图,android,android-intent,Android,Android Intent,我的意图只有在某些数据尚未插入时才会出现。这就像是一个自定义表单来插入一些数据。如果数据已经插入,在将来打开应用程序时,意图将不再出现。它将打开另一个意图,默认意图。(通常在应用程序第一次打开时会发生这种情况) 由于默认意图只能是一个,我如何管理意图 例如:如果应用程序是第一次打开,它将启动Tintent表单 下次打开应用程序(假设数据已经插入)时,它将启动Tintent Main活动我假设您正在执行类似于注册的操作,并希望显示此表单一次。你有很多选择 1) 正如艾哈迈德(在评论中)所说的,使用

我的意图只有在某些数据尚未插入时才会出现。这就像是一个自定义表单来插入一些数据。如果数据已经插入,在将来打开应用程序时,意图将不再出现。它将打开另一个意图,默认意图。(通常在应用程序第一次打开时会发生这种情况)

由于默认意图只能是一个,我如何管理意图

例如:如果应用程序是第一次打开,它将启动Tintent表单
下次打开应用程序(假设数据已经插入)时,它将启动Tintent Main活动

我假设您正在执行类似于注册的操作,并希望显示此表单一次。你有很多选择

1) 正如艾哈迈德(在评论中)所说的,使用,并在其中添加一些标志,它可以告诉你数据是否可用。在activity/onCreate的最开始添加一个检查,并打开相应的inten/activity dependens-by-check

2) 您还可以使用数据库查看此值


我建议您使用启动屏幕,将此值/注册数据检查到其中。如果可用,则启动活动A,否则启动注册/默认设置。

我使用SharedReferences只插入一次数据,只需在下面的代码中以这种方式使用即可 只有在首次安装应用程序后,才会启动意图,之后,它将启动主活动意图

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

if (isFirstTime()) {
// startIntent Form
}

}



private boolean isFirstTime()
{
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean ranBefore = preferences.getBoolean("RanBefore", false);
if (!ranBefore) {
// first time
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("RanBefore", true);
editor.commit();
}
return !ranBefore;
}

使用共享首选项并存储一个值,该值指示应用程序是否已被调用或是否是第一次运行。我当前选择第二个,但它有一些错误。下面是我对代码所做的,我检查表中的特定行,如果它为null,它将执行意图(让我们说意图a),但如果它不为null,它将执行其他意图(意图B)。问题是,在清单中,我选择意图B作为默认值(在启动屏幕之后)。它不能有两个默认意图,不是吗?您的默认意图将是启动屏幕/活动(使其成为主)。从这里开始,根据你的情况,你要么进入A屏,要么进入B屏。我想我会使用这个替代方案。但是,如果我希望每月(每月一次)插入数据,而不是像上面所示只插入一次,您知道怎么做吗?