我正在开发一个项目,我在其中创建一个本地.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应用程序
答案 0 :(得分:0)
来自另一个answer:
“对于Android Beam,您需要使用setBeamPushUris()
向数据提供URI(如果数据未修复,则需要setBeamPushUrisCallback()
。)对于S-Beam,我不知道任何可以使用的API .AFAICT,S-Beam仅适用于图片,视频和音乐的内置应用程序。“
您可以尝试this。
答案 1 :(得分:0)
如果您的目的是“单独”通过Android Beam(特别是NFC)传输内容(大小不同),那么我认为所建议的方法都不会达到您想要的效果。这些是辅助方法,通过蓝牙或WiFi直接等替代机制实现更快的传输,从而提供更好的用户体验。根据Android开发文档,如果设备不支持蓝牙或WiFI等备用传输,则调用这些方法无效。因此,考虑到您提出的具体问题,如果需要使用NFC,最好采用其他路由,例如setNdefPushMessage()或setNdefPushMessageCallback()。