getIntent().getExtras()在Android 4.1.1 Jellybean上运行的Galaxy Ne



我正在使用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);
}

要获得getIntentonCreate中返回的适当意图。

您可以在这里找到一些有关此覆盖的讨论:
有什么理由在覆盖新闻innewintent时不致电setIntent?

最新更新