Activity中getIntent为什么获取不到值?

举报
yechaoa 发表于 2022/05/30 23:29:25 2022/05/30
【摘要】 Activity有四种启动模式,一般为默认。 当Activity的启动模式为singleTask的时候,通过Intent传值,getIntent是接收不到值的,为null。 因为不同的启动模式,走的方法也不一样。当页面再次被调用的时候,先走onNewIntent方法再走onRestart。 所以需要重写onNewIntent方法,...

Activity有四种启动模式,一般为默认。

当Activity的启动模式为singleTask的时候,通过Intent传值,getIntent是接收不到值的,为null。

因为不同的启动模式,走的方法也不一样。当页面再次被调用的时候,先走onNewIntent方法再走onRestart。

所以需要重写onNewIntent方法,而且此方法在Activity Finish之后是不执行的。



  
  1. //finish之后是不执行的
  2. @Override
  3. protected void onNewIntent(Intent intent) {
  4. super.onNewIntent(intent);
  5. setIntent(intent);//设置新的intent
  6. String data = getIntent().getStringExtra("data");
  7. ...
  8. }



文章来源: blog.csdn.net,作者:yechaoa,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/yechaoa/article/details/63252721

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。