Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 有人真的能够在现实世界的应用程序中交换NDEF消息吗?_Android_Nfc_Nfc P2p_Android Beam - Fatal编程技术网

Android 有人真的能够在现实世界的应用程序中交换NDEF消息吗?

Android 有人真的能够在现实世界的应用程序中交换NDEF消息吗?,android,nfc,nfc-p2p,android-beam,Android,Nfc,Nfc P2p,Android Beam,我实现了一个基于Android Beaming的应用程序,提供两台设备之间的交互 在我当前的实现中,波束功能无法使用。当两台设备相互接触并且其中一台准备发射时,屏幕上会显示“touch to beam”(或者类似的东西,我将设备设置为意大利语)(在两台设备上,这很奇怪)。当我99.9%的时候点击“触控光束”时,安卓会让我把设备移近一些,但它们实际上是相互接触的(手机的背面相互接触) 这两款设备分别是Nexus9(最新版安卓5)和LG G2(安卓4.4)。LG G2与Nexus之间的通信不那么烦人

我实现了一个基于Android Beaming的应用程序,提供两台设备之间的交互

在我当前的实现中,波束功能无法使用。当两台设备相互接触并且其中一台准备发射时,屏幕上会显示“touch to beam”(或者类似的东西,我将设备设置为意大利语)(在两台设备上,这很奇怪)。当我99.9%的时候点击“触控光束”时,安卓会让我把设备移近一些,但它们实际上是相互接触的(手机的背面相互接触)

这两款设备分别是Nexus9(最新版安卓5)和LG G2(安卓4.4)。LG G2与Nexus之间的通信不那么烦人,比如说,它的“故障”率约为80%

这是我用于在活动内部传播的简单代码:

...
nfcAdapter.setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() {
        @Override
        public NdefMessage createNdefMessage(NfcEvent event) {
            if(DEBUG) Log.d(TAG, "push message callback - message created");
            return createApprovalRequestNDEFmsg();
        }
    }, this);


nfcAdapter.setOnNdefPushCompleteCallback(new NfcAdapter.OnNdefPushCompleteCallback() {
        @Override
        public void onNdefPushComplete(NfcEvent event) {
            if(DEBUG) Log.d(TAG, "push complete");
            waitForClientMessage();
        }
...


protected void waitForClientMessage() {
    Log.d(TAG, "Waiting for the reply message from the client.");
    nfcAdapter.setNdefPushMessageCallback(null, this);
    nfcAdapter.enableForegroundDispatch(this, nfcPendingIntent, readTagFilters, null);
}
    }, this);
NDEF消息的大小约为100字节。在
waitForClientMessage
方法中,活动(在Nexus上运行)设置一个
pendingent
,用于从客户端接收NFC推送消息(在LG G2上运行)

在发射成功的0.1%情况下,操作系统会在接收电话上创建正确的活动。正如我所说,返回消息(来自LG G2->Nexus)通常更容易接收

您对这款Android Beaming有何体验?您是否必须实现一些特殊的功能,才能在两台设备之间进行模糊可用的交互

可能我需要添加更多的信息,但我不知道是哪一个,因为所有内容在概念上都很简单,而且API非常有限