安装apk "Open"并显示"Done"按钮后,单击"打开"按钮不会将categor添加为启动器



Android问题:这个问题是在安装并点击打开按钮后第一次出现的,在用启动器图标启动应用程序后,问题永远不会出现。

  • 重现问题的步骤。

    1. 安装任何.apk文件
    2. 安装后,您将获得两个按钮"打开"one_answers"完成">
    3. 单击"打开"按钮即可打开/启动应用程序
    4. 现在,在您的应用程序中导航并转到任何其他屏幕,如第二屏幕、第三屏幕
    5. 现在,按主页并将应用程序置于后台(表示处于暂停状态)
    6. 现在转到应用程序列表单击相同应用程序的启动器图标
  • 发生了什么。

    1. 它从第一个屏幕的起点启动相同的应用程序
    2. 它必须在第三个屏幕上恢复正在运行的应用程序
    3. 现在按下后退,从第二次启动应用程序的第一个屏幕出来
    4. 它显示第一次运行应用程序的第三个屏幕

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

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

    1. 应用程序必须恢复
    2. 应用程序不得处于不一致状态

我有一些日志。。

  • 点击"打开"按钮记录:

10-04 21:45:28.703:信息/ActivityManager(243):启动活动:来自pid 15146的Intent{act=android.Intent.action.MAIN flg=0x100000000 cmp=com.test/.TestnewversionActivity}。

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

10-04 21:46:46.109:INFO/ActivityManager(243):启动活动:Intent{act=android.Intent.action.MAIN cat=[android.Intent.category.LAUNCHER]flg=0x10200000 cmp=com.test/.TestnewversionActivity}from pid 428

"参见上文意图中添加的类别"。

如果有人告诉我如何解决这个问题,或者告诉我如何在"打开"按钮上添加类别为android.intent.category.AUNCHER,那么问题就会解决。

我试着在应用程序启动、创建和许多地方添加类别。intent.addCategory("android.intent.category.LAUNCHER");还尝试使用IntentFilter,PackageManager。

这个问题在每个安卓手机中都存在。

我在HTC-SENSE上记录了日志安卓2.3.3版

请将代码添加到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);
}
}

最新更新