0

我正在开发一个项目,在该项目中我创建了一个本地 .csv 文件,并且我想使用 NFC 发送这个文件。

到目前为止,这是我活动中的代码。

public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
      if (nfcAdapter == null) {          
         return;  // NFC not available on this device
      }
      Uri uri1;
      File root ;
      root= Environment.getExternalStorageDirectory();
      //assign the file path to the uri
      uri1=Uri.fromFile(new File(root, "myFile.csv"));
      nfcAdapter.setBeamPushUris(new Uri[] {uri1}, this);
}

不幸的是,我目前没有其他设备来检查它,但我会在不久的将来这样做。我的问题是当两个设备放在一起时如何将文件发送到另一个设备?通常android有这些功能的监听器。NFC有类似的东西吗?

我正在 Nexus 4 上测试 4.2.2 中的应用程序

4

2 回答 2

0

从另一个答案

“对于 Android Beam,您需要为使用数据的文件提供 URI setBeamPushUris()(或者setBeamPushUrisCallback()如果数据不固定)。对于 S-Beam,我不知道有任何 API 可以使用。AFAICT,仅限 S-Beam适用于图片、视频和音乐的内置应用程序。”

你可以试试这个

于 2014-04-12T09:46:00.450 回答
0

如果您的意图是通过 Android Beam,尤其是 NFC“单独”传输内容(无论大小是否大),那么我认为建议的方法都不会满足您的需求。这些辅助方法可通过蓝牙或 WiFi 直连等替代机制实现更快的传输,从而提供更好的用户体验。根据 Android 开发文档,如果设备不支持蓝牙或 WiFI 等替代传输,则调用这些方法不会执行任何操作。因此,鉴于您提出的具体问题,如果需要使用 NFC,您最好采用其他路线,例如 setNdefPushMessage() 或 setNdefPushMessageCallback()。

于 2014-07-02T00:04:31.050 回答