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

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

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


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


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


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

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

目录
相关文章
|
Android开发
【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task(一)
【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task(一)
1113 0
【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task(一)
|
8月前
|
存储 Java Android开发
Android上在两个Activity之间传递Bitmap对象
Android上在两个Activity之间传递Bitmap对象
60 2
|
Android开发
【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task(二)
【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task(二)
321 0
【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task(二)
|
Android开发
Activity快速转换为Diglog
检测某应用是否安装 判断程序是否在前台运行 字符串非空判断 是否为当前界面 Android Studio在SVN上创建分支
216 0
|
JSON Java 数据格式
Activity之间使用Intent传递大量数据带来问题
Intent在传递数据时是有大小限制的,这里官方并未详细说明,不过通过实验的方法可以测出数据应该被限制在1MB之(1024KB),采用的是传递某产品详情,发现当数据大小超过1024的时候,程序就会出现闪退、停止运行等异常(不同的手机反应不同),因此可以判断Intent的传输容量在1MB以内,但是根据不同版本、不同厂商,这个值会有区别。
461 0
|
Android开发 数据格式 XML
Android Activity之间的传值示例
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.
808 0