关于Activity Launch mode的奇怪现象

izard999 2012-03-15 02:46:38
我们项目中有一个dvd的应用, application列表中点击dvd,进入dvd主界面,
然后会根据碟片类型跳转到不同的Activity. 当我按下Home键, 再从application列表中点击dvd,
会进入按Home之前的播放界面. 这个木有问题.

我写了一个Widget, Widget上有一个按钮也可以进入DVD应用的主界面, 我设置了Intent的flag为FLAG_ACTIVITY_BROUGHT_TO_FRONT, 当一开始从Widget进入,按Home,再从Widget进入,同样会进入到
按Home之前的播放界面.

此时的问题来了, 我们一个同事鬼使神差的进行了这样的操作:
1: 从Widget点击,初次进入DVD主界面,待DVD读碟完毕后进行播放, 此时按下Home,回到桌面,
然后从application列表中的dvd进入dvd, 发现不会进入到最后一次的播放页面, 只会进入到读碟的那个界面去了
2: 同样的,从application列表中的dvd进入dvd, 按Home, 再从Widget进入, 也是到读碟的页面去了。

请问有没有大侠碰到过此类问题?这个怎么解决阿? 这样release出去,测试的如果也来次这样的操作肯定要报bug的。
只能100分, 分不够可以再开贴给分。
很急啊。。 麻烦了
...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
izard999 2012-03-16
  • 打赏
  • 举报
回复
今天早上一来就翻Launcher源码,把Widget的点击事件的Intent的flag完全与applicationInfo里面一样, 再启, 发现问题还是存在.

找到了问题的原因所在, 但是不知道怎么解决!
问题是ActivityManager的Log显示, 虽然两次Intent完全相同,但是不在一个进程里面了.
由于已经是两个进程了, 所以是肯定不会显示成一样的.

大家有没有什么方法从两个入口进的时候不再新开一个进程呢?
我想如果是在一个APK里面应该不会有问题, 因为DVD那边是直接给的个APK, 不能在源码里面修改,
于是只能自己做个apk写一个Widget.
深耕安卓 2012-03-15
  • 打赏
  • 举报
回复
查查从不同的地方发出的intent是不是一样的。
ye7813629 2012-03-15
  • 打赏
  • 举报
回复
没有遇到过这样的,因为我没写过Widget,我猜是因为生命周期的问题而引起的, 按Home键:OnPause,OnStop这两个被调用了,至于Widget的生命周期我就不太清楚,有可能是生命周期期间的保存的配置不一样
evinge 2012-03-15
  • 打赏
  • 举报
回复
调试看看,从不同的地方重新进入,Activity是否重新onCreate()了

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧