我希望能够通过 NFC 发送一个 URL,以便它可以被 Android 手机上的接收手机的浏览器打开。这是一个可能的动作吗?
经过几个小时的摸索和浏览大量帖子后。我发现我需要做的就是实现 NdefCallbacks 并在“createNdefMessage”方法中设置 uri。
首先实现 NdefCallbacks
public class MyActivity implements CreateNdefMessageCallback, OnNdefPushCompleteCallback {
Run Code Online (Sandbox Code Playgroud)
添加未实现的方法
@Override
public NdefMessage createNdefMessage(NfcEvent event) {
...
}
...
@Override
public void onNdefPushComplete(NfcEvent arg0) {
...
}
Run Code Online (Sandbox Code Playgroud)
在您的活动顶部创建一个 NFC 适配器
NfcAdapter mNfcAdapter;
Run Code Online (Sandbox Code Playgroud)
然后在onCreate方法中设置NFC适配器
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
if(mNfcAdapter != null) {
// Register callback to set NDEF message
mNfcAdapter.setNdefPushMessageCallback(this, this);
// Register callback to listen for message-sent success
mNfcAdapter.setOnNdefPushCompleteCallback(this, this);
} else {
Log.i("LinkDetails", "NFC is not available on this device");
}
Run Code Online (Sandbox Code Playgroud)
然后将以下内容放入 createNdefMessage 方法中:
return new NdefMessage(new NdefRecord[] {
NdefRecord.createUri(YOUR_URL_HERE)
});
Run Code Online (Sandbox Code Playgroud)
轻按一下,Android 将处理剩下的事情。
感谢TAPPED的优秀人员提供的指导,这使我在成功实施 NFC 的过程中取得了大约 3/4 的进展。
| 归档时间: |
|
| 查看次数: |
11257 次 |
| 最近记录: |