【发布时间】:2015-09-13 20:01:44
【问题描述】:
当我在 Activity 中创建新 Intent:
Intent myIntent = new Intent(this, TargetActivity.class);
// apply hacks explained in above stackoverflow answers
System.out.println(myIntent.getExtras())
(此代码位于默认的空白活动中)
Intent#getExtras() 始终是null,因此Intent#putExtras(...) 直接导致NullPointerException。但是,启动 Intent 没有任何问题。
我已阅读有关此主题的所有类似 stackoverflow 帖子:
- https://stackoverflow.com/a/6357330
- https://stackoverflow.com/a/14288868
- https://stackoverflow.com/a/16458878
- https://stackoverflow.com/a/16377139
- https://stackoverflow.com/a/13596581
- https://stackoverflow.com/a/24047080
- https://stackoverflow.com/a/3128271
我都试过了,但似乎都没有任何效果。
任何人都可以提供一个解决方案来简单地启动一个带有非空附加内容的 Intent,总是有效?
或者,是否有任何其他方法可以向干净且不泄漏的 Intent 提供额外信息?
【问题讨论】:
-
thus Intent#putExtras(...) leads to immediate NullPointerException。我不这么认为。Intent的源代码检查 null 并在您第一次调用putExtras时初始化 Extras -
你期待什么?在向 Intent 添加任何数据之前调用 intent.getExtras ..
-
您发布的这些链接似乎都没有直接适用于尝试将 Intent 中的额外内容从一个 Activity 传递到另一个。试试这个:stackoverflow.com/questions/2091465/…