【发布时间】:2012-02-22 00:38:27
【问题描述】:
我在 AndroidManifest.xml 中遇到过这样的事情:
<receiver android:name="com.testco.test.TestReceiver"/>
以上是TestReceiver扩展了BroadcastReceiver类。我认为接收器会收到所有意图,但显然它没有,除非我在其中添加意图过滤器标签,否则它不起作用。那么如果它没有意图过滤器,它会做什么呢?是错字还是真的有什么作用?
更新:我在此链接 Trying to have a Broadcast Receiver with No filter 的帮助下解决了这个问题
您可以为意图设置一个操作字符串,然后广播它,而不是使用通常的字符串标识符调用广播。示例代码供参考:
Intent notifyIntent = new Intent(getApplicationContext(), TestReceiver.class);
notifyIntent.setAction("RECEIVE");
sendBroadcast(notifyIntent);
BroadcastReceiver 处的处理是一样的。
【问题讨论】:
-
编写该代码的人,告诉他们他们的操作风格不符合标准。它应该遵循 com.packagename.intent.messagehere ,这是放置的标准,因此应该遵循。
标签: android