Android 从快捷方式进入目标页面的问题 5C

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。

怎么解决
qq_33113551
qq_33113551 这个问题最后怎么解决的嘞 我这遇见了一样的问题 没有太好的办法
一年多之前 回复

3个回答

假如app正在运行,则直接跳转到DetailActivity进入聊天?

这个可以通过Intent携带一些包含初始化的参数进去启动,如果这些参数必须要从MainActivity中获取的话,可以考虑将这些参数在应用退出的时候
保存到sharepreference中去,通过intent携带的标志位再决定是否需要读取

在DetailActivity中按Back键返回MainActivity?

这个MainActivity如果没有启动过的话,在AMS中就没有保存这个activity状态,只能通过模拟返回键的效果进行启动,也就是通过Intent启动

假如app正在运行,则直接跳转到DetailActivity进入聊天?

这个可以通过Intent携带一些包含初始化的参数进去启动,如果这些参数必须要从MainActivity中获取的话,可以考虑将这些参数在应用退出的时候
保存到sharepreference中去,通过intent携带的标志位再决定是否需要读取

在DetailActivity中按Back键返回MainActivity?

这个MainActivity如果没有启动过的话,在AMS中就没有保存这个activity状态,只能通过模拟返回键的效果进行启动,也就是通过Intent启动

你的app平白无故的怎么会退出?
目标activity是在app里面的吗?还是另一个应用里的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐