在将应用程序部署到设备后,如何将另一个Activity作为主要和启动器启动

时间:2012-03-02 09:02:01

标签: android android-activity

我正在开发一个应用程序。 我的要求是,当我第一次将应用程序安装到设备中时,它必须启动主要和启动器活动。    之后,当我在设备旁边启动/打开我的应用程序时,它必须加载另一个活动而不是主要和启动器。    如果应用程序是卸载并再次安装,则必须再次加载main和启动器。 能不能请任何人分享这类话题的解决方案。

提前致谢。

5 个答案:

答案 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 ..但希望它有所帮助