我编写了一个Android应用程序,它从标签中读取NDEF消息并对其执行某些操作。这很有效。
现在我想写入标签,但是只有先打开应用程序,单击“写入”按钮并关闭标签。如果应用程序没有运行(活动未激活),它应该启动另一个活动并从标签中读取它已经存在。
因此,当我按下“写入”按钮NDEF_DISCOVERED
时,操作应触发写入标记的活动,当没有按任何内容时(应用程序未运行)NDEF_DISCOVERED
操作应触发从标记读取的活动。
这是可能的,如果可以,怎么样?谢谢!
修改
也许我不需要启动新的活动,而只是检查以前活动状态的值并根据它选择行动?
答案 0 :(得分:1)
您可能需要注册前台发送(NfcAdapter.enableForegroundDispatch()
,请参阅Using the Foreground Dispatch System)。
我不太确定我理解你的场景:你想按一个写按钮,然后显示你的写活动(可能会显示一条消息,用户应该点击标签进行写入),然后用户点击标签然后应该写出数据。
如果是这种情况,您可以在写活动的onResume
方法中注册前台调度(并在相应的onPause
方法中再次禁用它)。
答案 1 :(得分:-1)
您可以IntentFilter
动态注册onResume
,并在onPause
在http://developer.android.com/reference/android/content/Context.html
上查看registerReceiver()
和unregisterReceiver()