我正在开发一个应用程序。 我的要求是,当我第一次将应用程序安装到设备中时,它必须启动主要和启动器活动。 之后,当我在设备旁边启动/打开我的应用程序时,它必须加载另一个活动而不是主要和启动器。 如果应用程序是卸载并再次安装,则必须再次加载main和启动器。 能不能请任何人分享这类话题的解决方案。
提前致谢。
答案 0 :(得分:4)
你可以这样做:
假设活动A是您想要第一次启动的活动,活动B是系统将在第一次启动后启动的活动。
在你的显示中,将活动B作为你的启动器活动。然后在oncreate或更好的OnResume活动B中添加以下内容:
@Override
protected void onResume() {
super.onResume();
if(firstLaunch()){
startActivity(new Intent(this, A.class));
finish();
}else{
//Do your normal stuff
}
}
private boolean firstLaunch(){
SharedPreferences prefs = getSharedPreferences(
"Preferences",
Context.MODE_PRIVATE);
return prefs.getBoolean("firstLaunch",false);
}
然后在您的A活动上,请务必在首选项上设置一个标记,以指示您的应用程序已运行多次。所以在活动A的某个地方放了这个:
private void setFirsLaunchFlag(){
SharedPreferences prefs = getSharedPreferences(
"Preferences",
Context.MODE_PRIVATE);
SharedPreferences.Editor edit = prefs.edit();
edit.putBoolean("firstLaunch",true);
edit.commit();
}
答案 1 :(得分:2)
您可以使用这样的bool值:
1。首次启动应用程序时,请将其设为true。
2。检查启动器活动中的此bool值,如果为true,则启动所需的活动,如果为false,则将其设为true并保存(第一次)。
注意:您可以使用SharedPreference
作为bool值。
答案 2 :(得分:0)
我认为这可能会对您有所帮助:
如果该应用是第一次启动 android.intent.action.PACKAGE_FIRST_LAUNCH 广播将被解雇。
收到此广播后,在共享首选项中保留一个标记,即第一次启动应用程序。
将启动画面活动作为启动器活动,并根据该标志将其重定向到您的一次性活动或替换活动。
答案 3 :(得分:0)
据我所知,你没有机会发起另一项活动。 相反,您可以在SharedPreferences中保持安装跟踪并运行 基于此的不同代码。
答案 4 :(得分:0)
只需创建一个整数或布尔共享首选项变量。当应用程序在第一个实例启动时,显示您想要显示的活动仅为1'c,同时更改此共享首选项变量的值。每次从应用程序刚刚启动时,您必须检查此值,如果它不是默认值,则在main和启动器中加载另一个活动。
这是参考LINK ,不完全是预期的ans ..但希望它有所帮助