检测到NFC标签时启动Web请求

时间:2020-02-18 15:51:33

标签: android nfc webrequest

是否有一个应用程序在检测到NFC标签时调用可定义的URL?我想在桌子上贴上不同的贴纸,当我将手机放在其中一个贴纸上时,应拨打特定的网址:

如果检测到StickerA,请致电https://www.myserver.com/?val=a

如果检测到StickerB,请致电https://www.myserver.com/?val=b

如果检测到StickerC,请致电https://www.myserver.com/?val=c

在不激活电话的情况下使用android可以实现吗,并且该任务是否已有应用?

4 个答案:

答案 0 :(得分:0)

检测贴纸并采取措施是两件事。当您检测到标签时,我想您可以获取标签的ID,然后基于该ID,您将创建一个传递URL的Action View Intent,这将导致外部浏览器窗口使用您传递的URL打开。

//pass any url to this function to open a new browser session 
protected void handleExternalDeviceActivity(String url) {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(intent);
}

答案 1 :(得分:0)

您可以尝试使用NFC tools的许多Android应用程序在每个“贴纸”或nfc标签中编写唯一的URL,然后触摸您的Android设备将打开该URL。

如果不激活Android设备,您将无法与NFC标签*通信。

*您可以使用植根设备,并且需要自己编写应用程序。

答案 2 :(得分:0)

Android操作系统本身具有检测NFC并启动网络浏览器以打开NFC贴纸/标签上的URL的能力(只要手机具有NFC硬件且已打开)

不干胶标签/标签必须写入正确格式的NDEF数据。

您可以使用https://play.google.com/store/apps/details?id=com.wakdev.wdnfc或其他应用将正确的数据写入贴纸/标签以正确存储URL。

您也可以编写自己的应用程序来执行此操作,但是它不需要“ rooted device”。但这确实要求设备具有硬件,然后才能将其打开。

答案 3 :(得分:0)

使用Android上的Web NFC,任何网站都可以将URL NDEF记录写入NFC标签。当用户点击NFC标签时,将在Android的用户浏览器中启动该URL。

const urlRecord = {
  recordType: "url",
  data:"https://w3c.github.io/web-nfc/"
};

const ndef = new NDEFReader();
await ndef.write({ records: [urlRecord] });

请参见https://web.dev/nfc/#read-and-write-a-url-record