安装apk“打开”和“完成”按钮显示后,单击打开按钮,它不会添加类别作为启动器

时间:2012-10-05 08:14:08

标签: android android-intent

Android问题: 此问题仅在安装后第一次出现并单击打开按钮,启动带有启动器图标的应用程序后,将永远不会出现问题。

  • 重现问题的步骤。

    1. 安装任何.apk文件
    2. 安装完成后,您将获得两个按钮“打开”和“完成”。
    3. 点击打开按钮打开/启动应用程序。
    4. 现在在您的应用程序中导航并转到任何其他屏幕,例如第二屏幕,第三屏幕。
    5. 现在,按Home并将应用程序置于后台(意味着暂停状态)。
    6. 现在转到应用程序列表单击同一应用程序的启动器图标。
  • 发生了什么事。

    1. 从第一个屏幕的起点开始启动相同的应用程序。
    2. 必须在第3屏幕上恢复正在运行的应用程序。
    3. 现在按下并从第2次开始申请的第1个屏幕出来。
    4. 显示第一次运行应用程序的第3个屏幕。

我已经解释了安装后的一般行为,并使用打开按钮启动应用程序。 在我的应用程序中,它创建了2次启动应用程序的不一致状态。

  • 您认为正确的行为应该是什么。

    1. 申请必须恢复。
    2. 申请不得处于不一致状态。

我有一些日志..

  • 点击“打开”按钮记录:

10-04 21:45:28.703:INFO / ActivityManager(243):从pid 15146开始活动:Intent {act = android.intent.action.MAIN flg = 0x10000000 cmp = com.test / .TestnewversionActivity}。 / p>

“在上面的意图中看不到添加的类别”

  • 点击“启动器”图标的日志:

10-04 21:46:46.109:INFO / ActivityManager(243):开始活动:意图{act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10200000 cmp = com来自pid 428的.test / .TestnewversionActivity}

“查看上面意图中添加的类别”。

如果有人告诉我如何解决此问题或告诉我如何在“打开”按钮上添加类别为android.intent.category.LAUNCHER,则问题将解决。

我试图在app start,oncreate和很多地方添加意图类别。 intent.addCategory( “android.intent.category.LAUNCHER”); 还尝试使用IntentFilter,PackageManager。

此问题出现在每部Android手机中。

我已经在HTC-SENSE上登录了 Android版本2.3.3

1 个答案:

答案 0 :(得分:1)

请将代码添加到onCreate

if (isTaskRoot()) {
    final Intent intent = getIntent();
    final String intentAction = intent.getAction();
    if (!intent.hasCategory(Intent.CATEGORY_LAUNCHER) &&
            intentAction != null && intentAction.equals(Intent.ACTION_MAIN)) {
        finish();
        System.exit(0);
    }
}