mirror of
https://github.com/openharmony/applications_permission_manager.git
synced 2026-07-01 20:44:13 -04:00
9a67c8aae9473b0c3aab1f51570bc57581696bdd
Signed-off-by: AXYChen <chenmingyang14@huawei.com> Change-Id: I37ea3ab7459e4f620a401cc2950308f94d70fa2b
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
- Permission dialog:requestPermissionsFromUser
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
Description
Languages
TypeScript
85.3%
JavaScript
14.7%