美文网首页
2018-05-28

2018-05-28

作者: 霁逸lei | 来源:发表于2018-05-28 10:15 被阅读0次

    Activity 启动模式为singleTop、singleTask时当Activity界面已在栈顶再次开启界面不会调用onCreate(),而是调用onNewIntent onResume
    protected void onNewIntent(Intent intent)
    intent 与getIntent()的区别
    getIntent()获取的是老的intent
    例如:ActivityB可以通过点击正常开启,也能通过Receiver触发开启,在Receiver中设置标记
    正常开启ActivityB:
    getIntent().getBooleanExtra("ALARM",false); //值为默认值false

    此时触发广播,标记值为true
    getIntent().getBooleanExtra("ALARM",false); //值依然为false,即此时获取的是普通开启的intent而不是广播触发的新的intent
    intent.getBooleanExtra("ALARM",false); //值为true

    当使用onNewIntent(Intent intent) 并且后续需要用到getIntent需要在该方法内调用setIntent(intent)

    相关文章

      网友评论

          本文标题:2018-05-28

          本文链接:https://www.haomeiwen.com/subject/qjpwjftx.html