0

我可以通过 NFC Android Beam 使用以下 API 发送文件

mNfcAdapter.setBeamPushUrisCallback()

其他设备是否也应该具有相同的应用程序来接收文件?
如果是,则发送此文件将不支持其他平台,例如 Blackberry,即使它们是支持 NFC 的设备。请指教。

4

1 回答 1

1

文件传输实现不需要接收设备拥有您的应用程序。如果您发送类似图片的内容,则当用户单击“可以”启动相关应用程序(如果已安装)的竞赛通知时,将广播 mime 类型。

值得注意的是,您不能通过 android beam 文件传输强制使用 mime 类型,因此您不能保证您的应用程序将是唯一等待接收特定文件类型的应用程序。我还想指出,根据我的经验,尝试发送没有扩展名的文件似乎是行不通的。在没有分机的情况下,Beam 将尝试但永远不会连接发送。

如果您检查开发指南中的文件发送要求,您会发现不需要在两台设备上安装应用程序。

  • 大文件的 Android Beam 文件传输仅适用于 Android 4.1(API 级别 16)及更高版本。
  • 您要传输的文件必须驻留在外部存储中。要了解有关使用外部存储的更多信息,请阅读使用外部存储。
  • 您要传输的每个文件都必须是世界可读的。您可以通过调用方法 File.setReadable(true,false) 来设置此权限。
  • 您必须为要传输的文件提供文件 URI。Android Beam 文件传输无法处理 FileProvider.getUriForFile 生成的内容 URI。

发送文件参考: https ://developer.android.com/training/beam-files/send-files.html

接收文件参考: https ://developer.android.com/training/beam-files/receive-files.html

于 2014-09-04T18:15:57.207 回答