我正在为大多数主要移动操作系统(如 iOS、Windows Phone 和 Android)开发应用程序。我有一个来自我的客户的请求,可以在 iOS 和 WP 中实现,但在 Android 中听起来非常棘手。
在 iOS 和 WP 中,应用程序的生命周期是通过对象喜欢UIApplication
和Application
接收的事件来控制的。
在 iOS 中,例如 ,applicationDidEnterBackground:
等,明确定义了applicationWillEnterForeground:
Inactive 、 Active和Background等应用程序状态,并使应用程序状态管理逻辑真正简单明了。applicationWillTerminate:
在 WP 中,Application
接收很好理解的事件,例如Launching、Deactivated、Activated和Closing,这使得逻辑上决定在每个应用程序状态下应该做什么以保存为恢复应用程序范围的对象模型变得非常简单。
但在 Android 中,应用程序状态管理听起来非常困难,因为活动的状态变化,例如onCreate
,onRestart
…onDestroy
方法覆盖。我的问题出现在我想在用户会话过期时控制整个应用程序状态并且我想将用户重定向到登录活动并关闭其他打开的活动。
finish()
关于调用活动的onCreate()
, onRestart()
oronResume()
被Android忽略的事实(根据文档)。
即使我覆盖android.app.Application
并将逻辑放在那里,听起来控制开放活动也是不可能的。
我几乎尝试了所有可能的活动启动模式组合(例如SingleTask
和SingleInstance
),尽管我无法产生像 iOS 和 WP 中存在的行为。
还有另一个与这个问题相关的帖子可能会更多地澄清我的问题。
确切的问题是,“是否有可能在 Android 中产生 iOS 或 WP 应用程序行为?”</p>