applications_permission_man.../README.md
fanchenxuan f62d8618a9 Readme更新
Signed-off-by: fanchenxuan <fanchenxuan@huawei.com>
2023-06-05 17:16:01 +08:00

3.0 KiB
Raw Permalink Blame History

PermissionManager

Introduction

PermissionManager, a system application preset in OpenHarmony, provides permission dialog boxes, permission management settings, and permission usage records during the running of apps.

The following figure shows the architecture of the PermissionManager application.

Directory Structure

/applications/standard/permission_manager
├── entry                              # Directory of the entry module
├── permissionmanager                  # Directory of the PermissionManager module
│   ├── src/main/ets                   # ets module
│   │       ├── Application            # abilitystage directory
│   │       ├── MainAbility            # Permission management ability
│   │       ├── ServiceExtAbility      # serviceExtension configuration
│   │       ├── common                 # Common utilities
│   │       └── pages                  # Pages
│   ├──  resources                     # Global resource files
│   └──  module.json5                  # Global configuration file
├── signature                          # Certificate files
└── LICENSE                            # License file

Installation, operation and commissioning

Application installation

  • There are two files that need to change the suffix to json5
/AppScope/app.json
/permissionmanager/src/main/module.json
  • Uninstall preset rights management for the first installation
hdc shell mount -o remount,rw /
hdc shell rm -rf /system/app/com.ohos.permissionmanager
hdc shell rm -rf /data/*
hdc shell reboot
  • Install the signed hap package
hdc install Packet path

Application running

import abilityAccessCtrl from '@ohos.abilityAccessCtrl';
let atManager = abilityAccessCtrl.createAtManager();
try {
    atManager.requestPermissionsFromUser(this.context, ['ohos.permission.CAMERA'], (err, data)=>{
        console.info('data:' + JSON.stringify(data));
        console.info('data permissions:' + data.permissions);
        console.info('data authResults:' + data.authResults);
    });
} catch(err) {
    console.log(`catch err->${JSON.stringify(err)}`);
}
  • Permission manager

Settings-Privacy-Permission Manager

Application debugging

  • Add log to the program
const TAG = "PermissionManager_Log"
console.info(TAG + `log`);
  • Grab log
hdc shell hilog -Q pidoff
hdc shell -b D
hdc shell hilog -r && hdc hilog > log.txt

How to Use

For details, see Permission Application Guide.

Repositories Involved

security_access_token