我正在使用bug-sense进行错误报告。在对我的应用程序进行了最新更新之后,我已经获得了零指针。
此问题仅针对Android 4.1.1发生。这些无效的指针几乎在每项活动中都有25次出现,并且来自Android 4.1.1。
有人知道为什么会发生这种情况吗?
Intent i= new Intent(context, MyActivity.class);
i.putExtra("id", id);
context.startActivity(i);
获得其他:
Bundle extras = getIntent().getExtras();
String id = extras.getString("id"); //null pointer
即使与Android 4.1.1
无关,看起来也非常相似android getIntent()。getExtras()返回null
您正在使用标签吗?我认为您需要给出更多上下文,代码才能有一个有效的答案。
i仅在Android 4.1上使用singleTask
启动模式在活动中面临相同的问题。如果我在实例启动之前启动此活动,它将再现。
看来getIntent()
返回了电流的首先意图。Android文档说:
getIntent():返回开始此活动的意图。
我发现在onCreate
中,我获得了第一个意图(活动启动器),但是在onNewIntent
中,我可以适当地使用Extras。所以我已经覆盖了onNewIntent
:
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
要获得getIntent
在onCreate
中返回的适当意图。
您可以在这里找到一些有关此覆盖的讨论:
有什么理由在覆盖新闻innewintent时不致电setIntent?