通过 NFC 发送 URL 以供浏览器打开

use*_*001 5 url android nfc

我希望能够通过 NFC 发送一个 URL,以便它可以被 Android 手机上的接收手机的浏览器打开。这是一个可能的动作吗?

thu*_*ker 4

经过几个小时的摸索和浏览大量帖子后。我发现我需要做的就是实现 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 的进展。

  • 不要忘记将 NFC 权限添加到您的应用程序清单中:``<uses-permission android:name="android.permission.NFC"/>`` - https://developer.android.com/reference/android/ Manifest.permission.html#NFC (2认同)