In the EntryAbility.ets file, add requestPermissionsFromUser in the callback of loadContent. Refer to the code snippet below.
windowStage.loadContent('pages/Index', (err) => {
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
atManager.requestPermissionsFromUser(this.context, ['ohos.permission.ACCESS_BLUETOOTH'])
.then((data: PermissionRequestResult) => {
console.info('data:' + JSON.stringify(data));
console.info('data permissions:' + data.permissions);
console.info('data authResults:' + data.authResults);
}).catch((err: BusinessError) => {
console.error('data:' + JSON.stringify(err));
});
}); Declare the permission in the configuration file.
"requestPermissions": [
{
"name": "ohos.permission.ACCESS_BLUETOOTH",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "inuse"
},
"reason": "$string:app_name"
}
], Reference