[警告:此问题不包含任何代码,因此可能看起来不太有趣。]
应用具有以下结构(基本上是3级活动:home-> category-> item):
--- Home Activity (TabHost)
------- Tab1: category 1 activity, contains item list,
onclick item will start "viewItemActivity" to view an item
------- Tab2: category 2 (as above)
------- Tab3: category 3 (as above)
当收到推送通知时,点击通知消息将单独启动viewItem Activity。默认情况下,如果用户在其手机上点击“返回”键,则此viewItem活动将退出,用户将返回到手机主屏幕。
有没有办法通过相应的类别标签将用户转发到家庭活动,而不是回到手机主屏幕?
一般方法/想法将不胜感激。
我不确定viewItem活动中的lifecircle / method的哪一部分需要被覆盖。以及如何编写它以避免随机影响应用程序的启动过程/堆栈。
对于这个覆盖的方法(onStop!?),我正在考虑检查主页选项卡活动是否正在运行,如果没有则启动,然后传递一些意图来显示相应的选项卡,这是正确的方法吗?)
非常感谢!
答案 0 :(得分:1)
当通知到达时,您可以启动Home Activity,在其onCreate中,您可以启动itemActivity。这样,在堆栈中,您将在项目活动下方拥有HomeActivity,按下后退按钮将转到主页活动。
答案 1 :(得分:1)
在每项活动中覆盖onBackPressed()
,然后开始您的家庭活动。要使Tab1活动不在堆栈中,请通过MANIFEST文件将其定义为没有历史记录:
<activity android:name=".activity...." android:noHistory="true"></activity>