Com*_*are 8 android nfc ndef android-applicationrecord
根据此答案,并通过测试验证,当您使用Android Beam推送包含AAR记录的NFC消息时,接收设备将启动AAR中指定的应用程序的MAIN
/ LAUNCHER
activity.
那MAIN
/ LAUNCHER
Intent
不包含NfcAdapter.EXTRA_NDEF_MESSAGES
额外的.因此,如果您使用AAR,我们遇到的所有麻烦的数据都会丢失.
有没有办法在这种情况下获取触发应用程序的NFC消息?
如果答案是"否",那么AAR的用例是什么?当接收设备上不存在所需的应用程序(启动Play商店)时,我可以看到它可能会有所帮助,但是一旦安装了应用程序,AAR就会阻止任何将数据从一个设备传送到另一个设备的尝试,这是有点像NFC的背后.
谢谢!
冒着回答我自己的问题的风险,让这个(显然)工作的一个方法是:
让Beam发送者使用带有两个NFC记录的NFC消息,第一个包含用于唯一MIME类型的内容,第二个包含AAR
让Beam接收者拥有<intent-filter>
响应第一个NFC记录的活动,例如:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="application/vnd.commonsware.webbeam"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)如果应用程序已存在,NDEF_DISCOVERED
Intent
将使用该应用程序,并且收件人可以获取NFC消息并从初始记录中提取数据.如果该应用程序不存在,AAR将启动,启动Play商店(无论您的应用程序是否通过Play商店分发).
这是开发人员站点上的Android Beam示例中显示的配方.
归档时间: |
|
查看次数: |
2827 次 |
最近记录: |