【问题标题】:How to send a file using NFC in android on touch mode如何在触摸模式下使用 NFC 在 Android 中发送文件
【发布时间】:2013-07-28 16:18:42
【问题描述】:

我正在处理一个项目,在该项目中我创建了一个本地 .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 中的应用

【问题讨论】:

    标签: android file nfc send


    【解决方案1】:

    来自另一个answer

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

    你可以试试this

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-08
        • 2019-09-25
        • 1970-01-01
        • 2014-07-17
        • 2019-05-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多