我正在使用 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)
我想要实现的是,如果应用程序在后台运行并且我从菜单中单击通知或应用程序图标,我希望应用程序恢复而不是重新启动。
任何提示表示赞赏,谢谢你,迈克