我可以编写一个应用程序,使用没有安装相同应用程序的NFC Android Beam将文件(可以是图像文件)发送到另一台设备吗?

时间:2014-08-05 15:59:51

标签: android nfc android-beam

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

mNfcAdapter.setBeamPushUrisCallback()

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

1 个答案:

答案 0 :(得分: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