开发者社区> 问答> 正文

Android开发中,在桌面创建快捷方式后进入目标页面,现在有两种情况

1.app正在运行
2,app已经退出(后台线程结束)

对于第一种情况,处理就非常简单了,直接将参数传入Intent并打开对应的Activity即可。

但第二种情况比较复杂,因为app已经退出,而要打开的Activity中的某些操作是需要依赖app的初始化的,这些初始化操作是在app启动过程中进行的。举个例子,微信创建桌面联系人快捷方式,点击后需要初始化登录账号,登录环信聊天,然后才能进入目标聊天的Activity,这些用户信息是在app启动时与服务器进行一系列交互后取得的。如果app退出后直接进入详情Activity,就会因为获取不到用户信息而出错。

我们要达到的目的是:
假如app正在运行,则直接跳转到DetailActivity进入聊天,在DetailActivity中按Back键返回MainActivity

假如app已经退出,先从SplashActivity进入,显示app启动界面,初始化操作完成后进入MainActivity再跳转到DetailActivity显示具体内容,在DetailActivity中按Back键返回MainActivity。
怎么解决

展开
收起
爵霸 2016-03-03 11:09:12 3203 0
1 条回答
写回答
取消 提交回答
  • 假如app正在运行,则直接跳转到DetailActivity进入聊天?
    这个可以通过Intent携带一些包含初始化的参数进去启动,如果这些参数必须要从MainActivity中获取的话,可以考虑将这些参数在应用退出的时候
    保存到sharepreference中去,通过intent携带的标志位再决定是否需要读取
    在DetailActivity中按Back键返回MainActivity?
    这个MainActivity如果没有启动过的话,在AMS中就没有保存这个activity状态,只能通过模拟返回键的效果进行启动,也就是通过Intent启动

    2019-07-17 18:51:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载