广播接收机收到的意图是否可以为空?

换一种说法 :

@Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); // can intent==null here ? // could it ever throw a NPE ? } 

我需要一劳永逸地解决这个问题,所以请不要如果和buts。 我会检查为空,但我怀疑这是不需要的,因此检查笨拙和不雅。 我在文档中search,但没有发现任何东西

编辑:在谷歌组询问 – 看到有一些有趣的点

Solutions Collecting From Web of "广播接收机收到的意图是否可以为空?"

一个BroadcastReceiver onReceive由一个Intent和一个注册的动作触发。 因此,如果Intent不是Intent的实例而不是null,那么onReceive方法永远不会被调用。

这就是说,奇怪的事情可能会发生。 我没有看过Google编写的广播代码,所以在正确的使用情况下,它永远不会是空的,检查是一个好主意,因为它来自你不能控制的代码。