【发布时间】:2011-01-31 16:52:30
【问题描述】:
我正在尝试在广播接收器中捕获 NFC 标签,因此我编写了一个简单的 BR,它在 onReceive() 中打印“asd”。在清单 xml 中它是这样描述的:
我只收到这个,根本没有打印出来....
01-31 16:37:18.980: ERROR/MediaPlayer(990): setAudioStream called in state 8
01-31 16:37:18.980: ERROR/MediaPlayer(990): error (-38, 0)
01-31 16:37:18.980: ERROR/MediaPlayer(990): start called in state 0
01-31 16:37:18.980: ERROR/MediaPlayer(990): error (-38, 0)
01-31 16:37:18.988: ERROR/MediaPlayer(990): Error (-38,0)
当我使用活动来处理这样的意图时:
<activity android:name="TagViewer"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Activity 已启动并正常运行,那么如何使其与 BroadcastReceiver 一起使用?
【问题讨论】:
-
我很抱歉评论 dint 接受了 manifest.xml 代码我不知道为什么这并不奇怪,我只是使用:action android:name="android.nfc.action.TAG_DISCOVERED" 和category android:name="android.intent.category.DEFAULT" 所以我认为 NFC 意图只是不想启动接收器,它只适用于活动,为什么?
-
你能发布你的广播接收器代码吗?
-
-
这是接收者声明,但它没有出现在主帖中,我不知道为什么?
-
问题是android的NFCService调用startActivity()来获取标签意图,这就是为什么BR无法捕捉到它......
标签: android broadcastreceiver nfc