app跳转多个页面,点击home后的问题

app跳转多个页面,点击home后,回到桌面应用图标并点击app图标后准确显示被home之前页面

在写该博客时啰嗦几句,本人第一次写博客,提起笔不知道语句组织,一时无法下手,作为一个理科生很直白的对白。后来想想写技术博客不必要那么很在意文采,在乎逻辑性结构。好了不罗嗦了言归正传,对于这个问题需要android 开发者必须了解Activity这个重要组件,务必有很牢靠的基础与一定的工作经验。很多初入android app开发者,可能只完成需求所定的功能,在app 上线后客户反馈的bug有很多。比如开发的app在home键与app桌面应用图标启动之间有很矛盾的关系。如点击到桌面图标启动已在后台运行的app之间的启动顺序,正常情况下是点击桌面图标之后app会重新启动重新按照堆栈的顺序启动。这与我们想要的用户体验有很大的矛盾,对用户体验不是很友好。这样app给用户带来的体验就大打折扣了。
遇到问题务必要分析道原理,从根本上解决问题。这样有助于很快速的处理问题,才能提高工作效率。对于Activity这个组件要了解其生命周期的原理,并了解我们开发中的常用的启动模式 standard(标准模式默认)、singleTop、singleTask、singleInstance四种。具体解决方法如下:

  • 第一步:在清单文件中设置application属性为持久性 如android:persistent=”true” 防止多开app后台很多被干掉,设置为后台开挂模式

  • 第二步:查看启动的第一个Activity的启动模式,一般情况下设置为默认启动模式standard ,如有其他singleTop、singleTask、singleInstance务必改为standard

  • 第三布:对于是否准确去鉴定Activity启动标志,调试它会不会从后台跳转前台,若成立调用finish(), 系统后台逻辑会查询启动的历史堆栈顺序的前一个活动的页面,去执行该Activity,所以就返回到复原的状态下回滚到了home键之前的状态页面。具体代码

@Overried
protected void onCreate(Bundle instanceState){
    super.onCreate(instanceState);
    if((getIntent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){
        finish();
        return;
    }//重要片段
    setContentView(R.layout.xxxxx); 
    //无关代码...
}

好了到这里该问题可以顺利解决了。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值