1

我正在使用 Mosync SDK 3.2.1 为 Android 2.2、2.3 和 4.03 开发 HTML 5 应用程序。我遇到了这篇文章http://jira.mosync.com/browse/MOSYNC-2367中描述的问题。建议的修复

android:launchMode="singleTask"

解决了从菜单启动应用程序时的“重新启动应用程序”问题,但在应用程序在后台运行时通过通知破坏了应用程序的启动行为。(在launchMode =“标准”,工作正常,应用程序恢复)。使用此修复程序,它会崩溃并显示消息“不幸的是,Zymbo 已停止”(4.0.3)和“应用程序 Zybmbo 已意外停止”。

如果应用程序不在后台运行,则通过通知启动可以正常工作,应用程序将启动。

这就是在清单文件中声明 MAIN 活动的方式。

<activity android:name=".MoSync"
            android:screenOrientation="portrait"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/app_name"
            android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

这是应用程序现在的行为方式:
1. 通过菜单快捷方式启动应用程序
2. 按“主页”
3. 通过菜单快捷方式启动应用程序 (launchMode="standard" => 重新启动应用程序 BAD / launchMode="singleTask" resumes后台应用程序 OK)
4. 按“Home”
5. 通过通知项启动应用程序(launchMode="standard" - 打开在后台运行的应用程序 OK /launchMode="singleTask" 应用程序崩溃 BAD)

我想要实现的是,如果应用程序在后台运行并且我从菜单中单击通知或应用程序图标,我希望应用程序恢复而不是重新启动。

任何提示表示赞赏,谢谢你,迈克

4

0 回答 0