【问题标题】:After Installation of apk "Open" and "Done" button shows, onclick of Open button it's not adding categor as launcher安装apk“打开”和“完成”按钮显示后,点击打开按钮它没有添加类别作为启动器
【发布时间】:2012-09-26 08:52:31
【问题描述】:

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

  • 重现问题的步骤。

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

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

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

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

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

我有一些日志..

  • 点击“打开”按钮日志:

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

“查看以上意图中未添加的类别”

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

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 } 来自 pid 428

“请参阅上面意图中添加的类别”。

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

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

每个 Android 手机都有这个问题。

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

【问题讨论】:

标签: android android-intent


【解决方案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);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多