Dan*_*vak 7 android bundle nullpointerexception android-intent oncreate
我的Android应用程序上有一些错误报告,它是一个活动中onCreate()的Nullpointerexception. 失败的代码是getIntent().getExtras().getStringExtra("name").(空指针异常)
这意味着getExtras()以某种方式为null.我确信我在创建意图的每个地方都设置了额外的意图.我无法在设备上的模拟器上重新创建它.在我尝试再次打开应用程序之后,我认为它发生在我的真实设备上(但不是在我调试时),同时Android可能会杀死进程并再次重新创建活动.但是,即使在这种情况下,也不应该保留额外的意图吗?
我试图在模拟器上终止进程,再次调用onCreate并且getExtras()返回正确的值.
我用getIntent().getStringExtra()替换了代码.除了它之外还有什么区别不会抛出nullpointerexception,但仍会将String设置为null.还有其他区别吗?
可能是什么原因造成的?
如果没有额外的内容,Intent.getStringExtra()将返回null.如果没有额外的内容,Intent.getExtras()将返回null,因此您需要在尝试调用getString()或其他方法之前检查它.
我发现在代码的其他地方我正在创建带有 String[] 额外的快捷方式意图。Android HOME(也许还有系统的其他部分)不保留字符串数组,只保留原始附加值(int、string、long、float...)。但是引起问题的代码不使用快捷方式,它只是一个接收额外字符串数组的简单活动。也许空的额外内容也是由这个问题引起的 - 应用程序被操作系统杀死并且无法存储额外内容。在这种情况下,Android 不会抛出异常。
我在这里问了一个更具体的问题: 重启后快捷方式意图额外丢失?
| 归档时间: | 
 | 
| 查看次数: | 6891 次 | 
| 最近记录: |