对此使用谷歌没有任何运气,所以我想我会问。
有没有人有任何经验/知道如何从 Windows Phone 8 设备向 Android 设备发送一个简单的字符串,即“hello”?
到目前为止,我们已经能够做到 android -> android 和 android -> windows phone 8,但我们还没有找到从 windows phone 8 到 android 的方法。
有没有人在网上看过指南或知道如何做这样的事情?
我想第一步是找出如何让windows phone 8上的应用程序实现它靠近android NFC设备..然后是弄清楚如何让android手机上的应用程序接收消息。
提前致谢!
* 回答 *
好的,这里有一些答案/提示
我最终将 NFC 消息作为外部类型发送,因为发送 application/my.mimetype 一直在 Windows 手机上给我一个“抱歉你的手机无法识别这种类型的文件”,即使消息正在通过。
@Override
public NdefMessage createNdefMessage(NfcEvent event) {
NdefMessage ndefMessage = new NdefMessage((
new NdefRecord[] {createMimeRecord("packageName:externalType",docId.getBytes())}));
return ndefMessage;
}
public NdefRecord createMimeRecord(String mimeType, byte[] payload) {
byte[] mimeBytes = mimeType.getBytes(Charset.forName("US-ASCII"));
NdefRecord mimeRecord = new NdefRecord(NdefRecord.TNF_EXTERNAL_TYPE, mimeBytes, new byte[0], payload);
return mimeRecord;
}
您在 android 中所要做的就是遵循 SDK 示例 (android-16/17 - AndroidBeamDemo) 中的 android 示例,这在此处进行了非常彻底的解释 - http://www.tappednfc.com/wp-content/uploads/TAPPED -NFCDeveloperGuide-Part1.pdf
但不要使用应用程序 mimetype,而是使用上述外部类型,并在您的清单中将以下内容而不是 mimetype 放在意图过滤器中:
<data
android:host="ext"
android:pathPrefix="/cco.drugformulary:externalType"
android:scheme="vnd.android.nfc" />
关于从 Windows Phone 阅读和发送消息,您可以使用接受的答案家伙所说的内容,它应该可以工作,但对于类型 put cco.drugformulary:externalType 如上所述(当然是您的项目名称)。
如果您遇到任何问题,请随时问我