管理位置權(quán)限

2024-02-16 13:38 更新

Web組件提供位置權(quán)限管理能力。開發(fā)者可以通過onGeolocationShow()接口對某個網(wǎng)站進(jìn)行位置權(quán)限管理。Web組件根據(jù)接口響應(yīng)結(jié)果,決定是否賦予前端頁面權(quán)限。獲取設(shè)備位置,需要開發(fā)者配置ohos.permission.LOCATION權(quán)限。

在下面的示例中,用戶點(diǎn)擊前端頁面"獲取位置"按鈕,Web組件通過彈窗的形式通知應(yīng)用側(cè)位置權(quán)限請求消息,示例代碼如下:

  • 前端頁面代碼。
    1. <!DOCTYPE html>
    2. <html>
    3. <body>
    4. <p id="locationInfo">位置信息</p>
    5. <button onclick="getLocation()">獲取位置</button>
    6. <script>
    7. var locationInfo=document.getElementById("locationInfo");
    8. function getLocation(){
    9. if (navigator.geolocation) {
    10. <!-- 前端頁面訪問設(shè)備地理位置 -->
    11. navigator.geolocation.getCurrentPosition(showPosition);
    12. }
    13. }
    14. function showPosition(position){
    15. locationInfo.innerHTML="Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude;
    16. }
    17. </script>
    18. </body>
    19. </html>
  • 應(yīng)用代碼。
    1. // xxx.ets
    2. import web_webview from '@ohos.web.webview';
    3. @Entry
    4. @Component
    5. struct WebComponent {
    6. controller: web_webview.WebviewController = new web_webview.WebviewController();
    7. build() {
    8. Column() {
    9. Web({ src:$rawfile('getLocation.html'), controller:this.controller })
    10. .geolocationAccess(true)
    11. .onGeolocationShow((event) => { // 地理位置權(quán)限申請通知
    12. AlertDialog.show({
    13. title: '位置權(quán)限請求',
    14. message: '是否允許獲取位置信息',
    15. primaryButton: {
    16. value: 'cancel',
    17. action: () => {
    18. event.geolocation.invoke(event.origin, false, false); // 不允許此站點(diǎn)地理位置權(quán)限請求
    19. }
    20. },
    21. secondaryButton: {
    22. value: 'ok',
    23. action: () => {
    24. event.geolocation.invoke(event.origin, true, false); // 允許此站點(diǎn)地理位置權(quán)限請求
    25. }
    26. },
    27. cancel: () => {
    28. event.geolocation.invoke(event.origin, false, false); // 不允許此站點(diǎn)地理位置權(quán)限請求
    29. }
    30. })
    31. })
    32. }
    33. }
    34. }
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號