systemPreferences - systemPreferences.requestSystemPermission(permission)

概述

参数说明: permission string - 下列值之一: location,camera,microphone,screen-capture,user-download-dir,user-desktop-dir,user-document-dir,bluetooth,pasteboard 结果说明: 返回 Promise - 如果用户允许授权或已授权则resolve true。系统授权弹窗仅会弹出一次,如果已经请求权限或请求被拒绝,必须 在 设置 -> 隐私和安全 中手动更改,不会弹出提醒,并且 promise 会返回现有的权限状态。

基本信息

属性
模块 systemPreferences
类型 Method
鸿蒙支持 支持

OHOS 依赖与基本表现

属性
系统权限依赖 无需申请,module.json5中已经包含所需权限
添加JIT权限 支持
坚盾模式 支持

使用方式差异

属性
使用方式差异 存在差异
差异说明 鸿蒙平台独有接口,单独提供使用Demo,详见Demo

Demo

const { app, BrowserWindow, systemPreferences } = require('electron');
const path = require('path');

function createWindow() {
  const win = new BrowserWindow({
    width: 1000,
    height: 800,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  });
  // systemPreferences.requestSystemPermission(permission)
  // permission string - 下列值之一:
  // location,camera,microphone,screen-capture,user-download-dir,user-desktop-dir,user-document-dir,bluetooth,pasteboard
  console.log('electron call systemPreferences.requestSystemPermission(location) result is:',systemPreferences.requestSystemPermission('location'));
  console.log('electron call systemPreferences.requestSystemPermission(camera) result is:',systemPreferences.requestSystemPermission('camera'));
  console.log('electron call systemPreferences.requestSystemPermission(microphone) result is:',systemPreferences.requestSystemPermission('microphone'));
  console.log('electron call systemPreferences.requestSystemPermission(screen-capture) result is:',systemPreferences.requestSystemPermission('screen-capture'));
  console.log('electron call systemPreferences.requestSystemPermission(user-download-dir) result is:',systemPreferences.requestSystemPermission('user-download-dir'));
  console.log('electron call systemPreferences.requestSystemPermission(user-desktop-dir) result is:',systemPreferences.requestSystemPermission('user-desktop-dir'));
  console.log('electron call systemPreferences.requestSystemPermission(user-document-dir) result is:',systemPreferences.requestSystemPermission('user-document-dir'));
  console.log('electron call systemPreferences.requestSystemPermission(bluetooth) result is:',systemPreferences.requestSystemPermission('bluetooth'));
  console.log('electron call systemPreferences.requestSystemPermission(pasteboard) result is:',systemPreferences.requestSystemPermission('pasteboard'));
}

app.whenReady().then(createWindow);