【问题标题】:How to start another Activity as main and launcher after Deploying the application into device将应用程序部署到设备后如何启动另一个 Activity 作为主要和启动器
【发布时间】:2012-03-02 09:02:00
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 你知道登录细节是如何工作的吗?就这样吧。

标签: android android-activity


【解决方案1】:

你可以这样做:

假设 Activity A 是您只希望第一次启动的 Activity,而 Activity B 是系统将在第一次之后启动的 Activity。

在您的清单中,将 Activity B 作为您的启动器 Activity。然后在活动 B 的 oncreate 或更好的 OnResume 中放入以下内容:

    @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();
   }

【讨论】:

    【解决方案2】:

    您可以像这样使用布尔值:

    1. 首次启动应用程序时使其为真。

    2. 在您的启动器活动中检查此布尔值,如果为真,则启动您想要的活动,如果为假,则使其为真并保存(第一次)。

    注意:布尔值可以使用SharedPreference

    【讨论】:

      【解决方案3】:

      我认为这可能会对您有所帮助:

      如果应用是第一次启动 android.intent.action.PACKAGE_FIRST_LAUNCH 广播将被触发。

      收到此广播后,在共享首选项中维护一个标志,即应用程序首次启动。

      将启动屏幕活动作为您的启动器活动,并根据该标志将其重定向到您的一次性活动或替换活动。

      【讨论】:

        【解决方案4】:

        据我所知,您没有机会发起另一项活动。 相反,您可以在 SharedPreferences 中跟踪安装并运行 基于此的不同代码。

        【讨论】:

          【解决方案5】:

          只需创建一个整数或布尔共享首选项变量。当应用程序在第一个实例启动时显示您希望仅显示 1'c 的活动,同时更改此共享首选项变量的值。每次从应用程序刚启动时开始,您必须检查此值,如果它不是默认值,则在 main 和启动器中加载另一个活动。

          这是一个参考LINK ,不完全是预期的答案..但希望它有所帮助

          【讨论】:

            猜你喜欢
            • 2013-02-17
            • 1970-01-01
            • 1970-01-01
            • 2023-03-31
            • 1970-01-01
            • 2020-03-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多