未验证 提交 ddad738d 编写于 作者: O openharmony_ci 提交者: Gitee

!5554 【包管理子系统 master】适配ActsBmsAccessTokenTest用例+新增获取resource的用例

Merge pull request !5554 from ry/master
......@@ -91,8 +91,8 @@ describe('ActsBmsAccessTokenTest', function () {
expect(bundleInfo.reqPermissions[0]).assertEqual("ohos.permission.ALPHA");
expect(bundleInfo.reqPermissions[1]).assertEqual("ohos.permission.KEEP_BACKGROUND_RUNNING");
expect(bundleInfo.reqPermissions[2]).assertEqual("ohos.permission.LOCATION_IN_BACKGROUND");
expect(bundleInfo.reqPermissions[3]).assertEqual("ohos.permission.SYSTEM_FLOAT_WINDOW");
expect(bundleInfo.reqPermissions[4]).assertEqual("ohos.permission.USE_BLUETOOTH");
expect(bundleInfo.reqPermissions[3]).assertEqual("ohos.permission.USE_BLUETOOTH");
expect(bundleInfo.reqPermissions[4]).assertEqual("ohos.permission.VIBRATE");
expect(bundleInfo.reqPermissionStates.length).assertEqual(5);
expect(bundleInfo.reqPermissionStates[0]).assertEqual(bundle.GrantStatus.PERMISSION_DENIED);
expect(bundleInfo.reqPermissionStates[1]).assertEqual(bundle.GrantStatus.PERMISSION_GRANTED);
......@@ -120,8 +120,8 @@ describe('ActsBmsAccessTokenTest', function () {
expect(bundleInfo.reqPermissions[1]).assertEqual("ohos.permission.BETA");
expect(bundleInfo.reqPermissions[2]).assertEqual("ohos.permission.KEEP_BACKGROUND_RUNNING");
expect(bundleInfo.reqPermissions[3]).assertEqual("ohos.permission.LOCATION_IN_BACKGROUND");
expect(bundleInfo.reqPermissions[4]).assertEqual("ohos.permission.SYSTEM_FLOAT_WINDOW");
expect(bundleInfo.reqPermissions[5]).assertEqual("ohos.permission.USE_BLUETOOTH");
expect(bundleInfo.reqPermissions[4]).assertEqual("ohos.permission.USE_BLUETOOTH");
expect(bundleInfo.reqPermissions[5]).assertEqual("ohos.permission.VIBRATE");
expect(bundleInfo.reqPermissionStates.length).assertEqual(6);
expect(bundleInfo.reqPermissionStates[0]).assertEqual(bundle.GrantStatus.PERMISSION_DENIED);
expect(bundleInfo.reqPermissionStates[1]).assertEqual(bundle.GrantStatus.PERMISSION_DENIED);
......
......@@ -24,6 +24,7 @@ const MODULE_NAME1 = '';
const MODULE_NAME2 = 'noModule';
const MODULE_NAME3 = 'entry';
const MODULE_NAME4 = undefined;
const MODULE_NAME5 = null;
const DEFAULT_FLAG = bundle.BundleFlag.GET_BUNDLE_DEFAULT;
const SUCCESS_CODE = 0;
const INVALID_CODE = 1;
......@@ -473,6 +474,136 @@ export default function actsBmsJsModuleNameTest() {
});
});
/*
* @tc.number: SUB_BMS_APPINFO_QUERYMODULE_0022
* @tc.name: getAbilityInfoUndefinedModule
* @tc.desc: test undefined moduleName
*/
it('getAbilityInfoUndefinedModule', 0, async function (done) {
await bundle.getAbilityInfo(BUNDLE_NAME, MODULE_NAME4, ABILITY_NAME)
.then(data => {
expect(data).assertFail();
}).catch((err) => {
expect(err).assertEqual(INVALID_PARAM);
bundle.getAbilityInfo(BUNDLE_NAME, MODULE_NAME4, ABILITY_NAME, (error, data) => {
expect(error).assertEqual(INVALID_PARAM);
});
});
await bundle.getAbilityInfo(BUNDLE_NAME, MODULE_NAME5, ABILITY_NAME)
.then(data => {
expect(data).assertFail();
done();
}).catch((err) => {
expect(err).assertEqual(INVALID_PARAM);
bundle.getAbilityInfo(BUNDLE_NAME, MODULE_NAME5, ABILITY_NAME, (error, data) => {
expect(error).assertEqual(INVALID_PARAM);
done();
});
});
});
/*
* @tc.number: SUB_BMS_APPINFO_QUERYMODULE_0029
* @tc.name: getAbilityIconUndefinedModule
* @tc.desc: test undefined moduleName
*/
it('getAbilityIconUndefinedModule', 0, async function (done) {
await bundle.getAbilityIcon(BUNDLE_NAME, MODULE_NAME4, ABILITY_NAME)
.then(data => {
expect(data).assertFail();
}).catch((err) => {
expect(err).assertEqual(INVALID_PARAM);
bundle.getAbilityIcon(BUNDLE_NAME, MODULE_NAME4, ABILITY_NAME, (error, data) => {
expect(error).assertEqual(INVALID_PARAM);
});
});
await bundle.getAbilityIcon(BUNDLE_NAME, MODULE_NAME5, ABILITY_NAME)
.then(data => {
expect(data).assertFail();
done();
}).catch((err) => {
expect(err).assertEqual(INVALID_PARAM);
bundle.getAbilityIcon(BUNDLE_NAME, MODULE_NAME5, ABILITY_NAME, (error, data) => {
expect(error).assertEqual(INVALID_PARAM);
done();
});
});
});
/*
* @tc.number: SUB_BMS_APPINFO_QUERYMODULE_0025
* @tc.name: getAbilityLabelUndefinedModule
* @tc.desc: test undefined moduleName
*/
it('getAbilityLabelUndefinedModule', 0, async function (done) {
await bundle.getAbilityLabel(BUNDLE_NAME, MODULE_NAME4, ABILITY_NAME)
.then(data => {
expect(data).assertFail();
}).catch((err) => {
expect(err).assertEqual(INVALID_PARAM);
bundle.getAbilityLabel(BUNDLE_NAME, MODULE_NAME4, ABILITY_NAME, (error, data) => {
expect(error).assertEqual(INVALID_PARAM);
});
});
await bundle.getAbilityLabel(BUNDLE_NAME, MODULE_NAME5, ABILITY_NAME)
.then(data => {
expect(data).assertFail();
done();
}).catch((err) => {
expect(err).assertEqual(INVALID_PARAM);
bundle.getAbilityLabel(BUNDLE_NAME, MODULE_NAME5, ABILITY_NAME, (error, data) => {
expect(error).assertEqual(INVALID_PARAM);
done();
});
});
});
/*
* @tc.number: SUB_BMS_APPINFO_QUERYMODULE_0004
* @tc.name: queryAbilityByWantUndefinedModule
* @tc.desc: test undefined moduleName
*/
it('queryAbilityByWantUndefinedModule', 0, async function (done) {
await bundle.queryAbilityByWant({
bundleName: BUNDLE_NAME,
abilityName: ABILITY_NAME,
moduleName: MODULE_NAME4
}, DEFAULT_FLAG, userId).then(data => {
checkDataInfo(data[0]);
bundle.queryAbilityByWant({
bundleName: BUNDLE_NAME,
abilityName: ABILITY_NAME,
moduleName: MODULE_NAME4
}, DEFAULT_FLAG, userId, (err1, data1) => {
checkDataInfo(data1[0]);
expect(err1).assertEqual(SUCCESS_CODE);
});
}).catch(err => {
expect().assertFail();
});
await bundle.queryAbilityByWant({
bundleName: BUNDLE_NAME,
abilityName: ABILITY_NAME,
moduleName: MODULE_NAME5
}, DEFAULT_FLAG, userId).then(data => {
checkDataInfo(data[0]);
bundle.queryAbilityByWant({
bundleName: BUNDLE_NAME,
abilityName: ABILITY_NAME,
moduleName: MODULE_NAME5
}, DEFAULT_FLAG, userId, (err1, data1) => {
checkDataInfo(data1[0]);
expect(err1).assertEqual(SUCCESS_CODE);
done();
});
}).catch(err => {
expect().assertFail();
done();
});
});
function checkDataInfo(data) {
expect(typeof (data.bundleName)).assertEqual("string");
expect(data.bundleName).assertEqual("com.example.bmsmodulename");
......@@ -515,7 +646,8 @@ export default function actsBmsJsModuleNameTest() {
expect(info.labelId > 0).assertTrue();
expect(info.systemApp).assertEqual(false);
expect(typeof (info.entryDir)).assertEqual("string");
expect(info.entryDir).assertEqual("/data/app/el1/bundle/public/com.example.bmsmodulename/com.example.bmsmodulenamedentry");
expect(info.entryDir)
.assertEqual("/data/app/el1/bundle/public/com.example.bmsmodulename/com.example.bmsmodulenamedentry");
expect(typeof (info.process)).assertEqual("string");
expect(info.process).assertEqual("com.example.bmsmodulename");
expect(Array.isArray(info.permissions)).assertEqual(true);
......
/**
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, it, expect, beforeAll, beforeEach, afterEach, afterAll } from 'hypium/index';
import bundleManager from '@ohos.bundle';
import account from '@ohos.account.osAccount'
const BUNDLE_NAME = 'com.example.myapplication1';
const MODULE_NAME = 'entry';
const ABILITY_NAME = 'com.example.myapplication1.MainAbility';
const PATH = '/data/test/bmsJstest1.hap';
const FLAG1 = bundleManager.BundleFlag.GET_BUNDLE_WITH_ABILITIES;
const FLAG2 = bundleManager.BundleFlag.GET_ALL_APPLICATION_INFO;
const FLAG3 = bundleManager.BundleFlag.GET_BUNDLE_DEFAULT;
let userId = 0;
export default function GetResourceTest() {
describe('GetResourceTest', function () {
beforeAll(async function (done) {
await account.getAccountManager().getOsAccountLocalIdFromProcess().then(account => {
console.info("getOsAccountLocalIdFromProcess userid ==========" + account);
userId = account;
done();
}).catch(err => {
console.info("getOsAccountLocalIdFromProcess err ==========" + JSON.stringify(err));
done();
})
});
/*
* @tc.number: SUB_BMS_APPINFO_GETAPPICON_0001
* @tc.name: getBundleInfoForResource
* @tc.desc: get Resource by getBundleInfo
*/
it('getBundleInfoForResource', 0, async function (done) {
await bundleManager.getBundleInfo(BUNDLE_NAME, FLAG1).then(data => {
let applicationInfo = data.appInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
}).catch(err => {
expect().assertFail();
})
bundleManager.getBundleInfo(BUNDLE_NAME, FLAG1, (err, data) => {
let applicationInfo = data.appInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
expect(err).assertEqual(0)
done()
})
});
/*
* @tc.number: SUB_BMS_APPINFO_GETAPPICON_0002
* @tc.name: getAllBundleInfoForResource
* @tc.desc: get Resource by getAllBundleInfo
*/
it('getAllBundleInfoForResource', 0, async function (done) {
await bundleManager.getAllBundleInfo(FLAG1).then(data => {
if (data.length > 0) {
for (let i = 0; i < data.length; i++) {
if (data[i].name == BUNDLE_NAME) {
let applicationInfo = data[i].appInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
}
}
} else {
expect().assertFail();
}
}).catch(err => {
expect().assertFail();
});
bundleManager.getAllBundleInfo(FLAG1, (err, data) => {
if (data.length > 0) {
for (let i = 0; i < data.length; i++) {
if (data[i].name == BUNDLE_NAME) {
let applicationInfo = data[i].appInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
}
}
} else {
expect().assertFail();
}
expect(err).assertEqual(0)
done();
})
});
/*
* @tc.number: SUB_BMS_APPINFO_GETAPPICON_0004
* @tc.name: getAllApplicationInfoForResource
* @tc.desc: get Resource by getAllApplicationInfo
*/
it('getAllApplicationInfoForResource', 0, async function (done) {
await bundleManager.getAllApplicationInfo(FLAG2).then(data => {
if (data.length > 0) {
for (let i = 0; i < data.length; i++) {
if (data[i].name == BUNDLE_NAME) {
let applicationInfo = data[i];
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
}
}
} else {
expect().assertFail();
}
}).catch(err => {
expect().assertFail();
});
bundleManager.getAllApplicationInfo(FLAG2, (err, data) => {
if (data.length > 0) {
for (let i = 0; i < data.length; i++) {
if (data[i].name == BUNDLE_NAME) {
let applicationInfo = data[i];
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
}
}
} else {
expect().assertFail();
}
expect(err).assertEqual(0)
done();
})
});
/*
* @tc.number: SUB_BMS_APPINFO_GETAPPICON_0005
* @tc.name: getAbilityInfoForResource
* @tc.desc: get Resource by getAbilityInfo
*/
it('getAbilityInfoForResource', 0, async function (done) {
await bundleManager.getAbilityInfo(BUNDLE_NAME, ABILITY_NAME).then(data => {
let applicationInfo = data.applicationInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
}).catch(error => {
expect().assertFail();
});
bundleManager.getAbilityInfo(BUNDLE_NAME, ABILITY_NAME, (err, data) => {
let applicationInfo = data.applicationInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
expect(err).assertEqual(0)
done();
})
});
/*
* @tc.number: SUB_BMS_APPINFO_GETAPPICON_0006
* @tc.name: queryAbilityByWantForResource
* @tc.desc: get Resource by queryAbilityByWant
*/
it('queryAbilityByWantForResource', 0, async function (done) {
await bundleManager.queryAbilityByWant({
bundleName: BUNDLE_NAME,
abilityName: ABILITY_NAME
}, FLAG3, userId).then((data) => {
let applicationInfo = data[0].applicationInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
}).catch((error) => {
expect().assertFail();
});
bundleManager.queryAbilityByWant({
bundleName: BUNDLE_NAME,
abilityName: ABILITY_NAME
}, FLAG3, userId, (err, data) => {
let applicationInfo = data[0].applicationInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
expect(err).assertEqual(0)
done();
})
});
/*
* @tc.number: SUB_BMS_APPINFO_GETAPPICON_0007
* @tc.name: getBundleArchiveInfoForResource
* @tc.desc: get Resource by getBundleArchiveInfo
*/
it('getBundleArchiveInfoForResource', 0, async function (done) {
await bundleManager.getBundleArchiveInfo(PATH, FLAG1).then((data) => {
let applicationInfo = data.appInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
}).catch((err) => {
expect().assertFail();
})
bundleManager.getBundleArchiveInfo(PATH, FLAG1, (err, data) => {
let applicationInfo = data.appInfo;
expect(applicationInfo.iconResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.iconResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.iconResource.id).assertLarger(0)
expect(applicationInfo.labelResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.labelResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.labelResource.id).assertLarger(0)
expect(applicationInfo.descriptionResource.bundleName).assertEqual(BUNDLE_NAME)
expect(applicationInfo.descriptionResource.moduleName).assertEqual(MODULE_NAME)
expect(applicationInfo.descriptionResource.id).assertLarger(0)
expect(err).assertEqual(0)
done();
})
});
});
}
\ No newline at end of file
......@@ -28,6 +28,7 @@ import isDefaultApplicationTest from './IsDefaultApplication.test.ets';
import getWindowPorperties from './getWindowProperties.test.ets';
import GetSecondModuleTest from './GetSecondModule.test.ets';
import GetInfoSync from './GetInfoSync.test.ets';
import GetResourceTest from './GetResourceTest.test.ets';
export default function testsuite() {
getBundleArchiveInfo();
......@@ -50,4 +51,5 @@ export default function testsuite() {
getWindowPorperties();
GetSecondModuleTest();
GetInfoSync();
GetResourceTest();
}
\ No newline at end of file
......@@ -104,8 +104,8 @@
"reason": "use ohos.permission.USE_BLUETOOTH"
},
{
"name": "ohos.permission.SYSTEM_FLOAT_WINDOW",
"reason": "use ohos.permission.SYSTEM_FLOAT_WINDOW"
"name": "ohos.permission.VIBRATE",
"reason": "use ohos.permission.VIBRATE"
}
]
}
......
......@@ -104,8 +104,8 @@
"reason": "use ohos.permission.USE_BLUETOOTH"
},
{
"name": "ohos.permission.SYSTEM_FLOAT_WINDOW",
"reason": "use ohos.permission.SYSTEM_FLOAT_WINDOW"
"name": "ohos.permission.VIBRATE",
"reason": "use ohos.permission.VIBRATE"
}
]
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册