Android Beam功能 - 从两个设备时,只有一个触摸梁载荷转移?(Android Beam

2019-08-17 22:46发布

好吧,我从2011年观看了谷歌I / O 呈现在NFC上的对等。

该演示是在做姜饼和使用应用程序便笺发现

现在,在这个演示中,两个设备onNewIntent()被调用,同时使两个设备都试图分享信息,彼此。

在ICS以上,你有Android Beam功能..

Android Beam功能,你必须触摸触发,将跨发送NDEF消息onNewIntent()事件。

现在,这个问题是现在触发两台设备上onNewIntent(),每个设备上都用户具有“触摸梁”在同一时间。

有没有一种方法,当你轻触即可传输一个设备上,都可以有onNewIntent()被调用?

我想开发一个应用程序,将数据交换到对方,但它在一个不错的友好的方式工作,我所需要的设备,一旦触摸梁已经在一个设备上启动的同时共享数据。 我希望这是可能的。

编辑: 它看起来像这可能是不可能做到:(

Answer 1:

据我所知,您想要的功能不可用在NFC本身。 触摸 - 梁/ SNEP / NPP转移只能在Android一个方向。 该点击他的屏幕的用户将推动NDEF消息给其他手机。

我相信,他们已经在做的视频设置了NDEF消息,使传输蓝牙连接(如你在stickynotes演示看到的)。 遗憾的是这个没有很好的API。

然而,EasyNFC项目有望成为能够让你创建两款手机/应用程序之间的蓝牙连接和插座。 检查出来这里

我做了一个尝试,真的不喜欢这仍然是在蓝牙连接的建立所需要的触摸 - 梁UI。 它也真正地不适合我的需要,我想手机传送到电脑,并没有真正想要实现NFC P2P和蓝牙连接。



Answer 2:

你试试这个:
使用触摸到梁在电话-1为“PUSH”中的数据,而其他(电话-2),使用NDEF_DISCOVERED / TECH_DISCOVERED意图触发/启动数据采集/接收。 我依稀记得上面的意图之一是当PUSH完成触发。 虽然,每次传输需要一个“触摸”开始喜气洋洋。



Answer 3:

当你想在一般情况下,Android的不应该让在同一时间在两个方向上的NFC数据传输。 让我们觉得在这里我想送东西给我的朋友与NFC方案的。 什么是我的朋友的电话上积极开放的并不重要。 我应该把这个事情甚至同一个应用程序是不是在接收端开放。 有可能是在我的朋友的电话另一个应用程序试图发送另一件事给我。 当我们接触我们的手机,Android Beam功能(TM)出现,他的数据是从被触摸的手机发送。

在你的情况下,我认为你应该通过设置禁用Android Beam功能(TM) setNdefPushMessage(null)和不发送使用旧的方式是双向的。



Answer 4:

https://developer.android.com/preview/api-overview.html

我认为这将在L为可用!

NFC增强

您的应用程序可以调用Android Beam功能在用户的设备上通过调用android.nfc.NfcAdapter.invokeBeam共享数据()。 这避免了需要用户手动挖掘设备对另一NFC能力的设备来完成的数据传送。



文章来源: Android Beam - payload transfer from both devices when only one Touch To Beam?