[英]Angular app with bluetooth device detector
我正在構建一個 web 應用程序(在移動瀏覽器上運行,而不是移動應用程序),目的是能夠檢測附近的藍牙設備,以便用戶可以簽入/簽出他們的出勤。
我有一個工作代碼https://stackblitz.com/edit/bluetooth-3ibcww並且必須在https://bluetooth-3ibcww.stackblitz.io/中運行以避免 CROS 錯誤。 有沒有辦法避免“提示”? 我需要模擬用戶點擊“注冊考勤”按鈕的流程,后端將掃描附近的藍牙設備並識別特定的“ATTENDANCE_DETECTOR”藍牙,以證明工作人員在辦公室/工廠附近。 這是工作代碼
let options = {
acceptAllDevices: true,
optionalServices: ["battery_service"]
};
navigator.bluetooth
.requestDevice(options)
.then(function(device) {
console.log("Name: " + device.name);
// Do something with the device.
})
.catch(function(error) {
console.log("Something went wrong. " + error);
});
我檢查了官方文檔https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth似乎只有一種可用的方法 requestDevice()
無法避免提示。 在站點可以與其通信之前要求用戶 select 設備是此 API 的安全和隱私 model 的一部分。 如果允許該站點在未經用戶許可的情況下掃描和檢測設備,這些設備可用於任何惡意目的,例如秘密跟蹤用戶的位置。
如果您通過--enable-experimental-web-platform-features
標志或在chrome://flags/#enable-experimental-web-platform-features
啟用它,則在 Chromium 中有一個特定於藍牙掃描的 API 和原型實現的規范草案chrome://flags/#enable-experimental-web-platform-features
。 作為目前的原型,此 API 會在授予站點訪問權限之前向用戶顯示站點可以在其周圍發現的設備種類的提示。 這項工作仍處於開發階段,沒有時間表使此功能普遍可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.