Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
6c49d718
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
1 年多 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
6c49d718
编写于
7月 05, 2023
作者:
O
openharmony_ci
提交者:
Gitee
7月 05, 2023
浏览文件
操作
浏览文件
下载
差异文件
!9196 mediaLibrary fix getPermission
Merge pull request !9196 from yangbo/xts0704
上级
d5fca1d6
2ef98181
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
85 addition
and
81 deletion
+85
-81
multimedia/medialibrary/common.js
multimedia/medialibrary/common.js
+30
-27
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/test/getExifNoLocation.test.ets
...cation/entry/src/main/ets/test/getExifNoLocation.test.ets
+27
-26
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/test/getExifLocation.test.ets
...location/entry/src/main/ets/test/getExifLocation.test.ets
+28
-28
未找到文件。
multimedia/medialibrary/common.js
浏览文件 @
6c49d718
...
...
@@ -14,7 +14,7 @@
*/
import
mediaLibrary
from
"
@ohos.multimedia.mediaLibrary
"
;
import
abilityAccessCtrl
from
"
@ohos.abilityAccessCtrl
"
;
import
bundle
from
"
@ohos.bundle
"
;
import
bundle
Manager
from
'
@ohos.bundle.bundleManager
'
;
import
uitest
from
"
@ohos.UiTest
"
;
const
presetsCount
=
{
ActsMediaLibraryAlbumTest
:
{
albumsCount
:
15
,
assetsCount
:
27
},
...
...
@@ -238,36 +238,39 @@ const getPermission = async function (name, context) {
if
(
!
name
)
{
name
=
"
ohos.acts.multimedia.mediaLibrary
"
;
}
console
.
info
(
"
getPermission start
"
,
name
);
let
permissions
=
[
"
ohos.permission.MEDIA_LOCATION
"
,
"
ohos.permission.READ_MEDIA
"
,
"
ohos.permission.WRITE_MEDIA
"
];
let
atManager
=
abilityAccessCtrl
.
createAtManager
();
try
{
atManager
.
requestPermissionsFromUser
(
context
,
permissions
,
(
err
,
data
)
=>
{
console
.
info
(
`getPermission requestPermissionsFromUser
${
JSON
.
stringify
(
data
)}
`
);
});
}
catch
(
err
)
{
console
.
log
(
`get permission catch err ->
${
JSON
.
stringify
(
err
)}
`
);
}
await
sleep
(
1000
);
let
driver
=
uitest
.
Driver
.
create
();
await
sleep
(
2000
);
let
button
=
await
driver
.
findComponent
(
uitest
.
ON
.
text
(
"
允许
"
));
await
button
.
click
();
await
sleep
(
2000
);
console
.
info
(
'
getPermission start
'
,
name
);
let
permissionState
=
new
Map
();
const
permissions
=
[
'
ohos.permission.MEDIA_LOCATION
'
,
'
ohos.permission.READ_MEDIA
'
,
'
ohos.permission.WRITE_MEDIA
'
,
];
let
appInfo
=
await
bundle
.
getApplicationInfo
(
name
,
0
,
100
);
let
tokenID
=
appInfo
.
accessTokenId
;
let
isGranted1
=
await
atManager
.
verifyAccessToken
(
tokenID
,
"
ohos.permission.MEDIA_LOCATION
"
);
let
isGranted2
=
await
atManager
.
verifyAccessToken
(
tokenID
,
"
ohos.permission.READ_MEDIA
"
);
let
isGranted3
=
await
atManager
.
verifyAccessToken
(
tokenID
,
"
ohos.permission.WRITE_MEDIA
"
);
if
(
!
(
isGranted1
==
0
&&
isGranted2
==
0
&&
isGranted3
==
0
))
{
console
.
info
(
"
getPermission failed
"
);
const
atManager
=
abilityAccessCtrl
.
createAtManager
();
const
appFlags
=
bundleManager
.
ApplicationFlag
.
GET_APPLICATION_INFO_DEFAULT
;
const
userId
=
100
;
const
appInfo
=
await
bundleManager
.
getApplicationInfo
(
name
,
appFlags
,
userId
);
const
tokenID
=
appInfo
.
accessTokenId
;
for
(
const
permission
of
permissions
)
{
console
.
info
(
'
getPermission permission:
'
+
permission
);
try
{
await
atManager
.
grantUserGrantedPermission
(
tokenID
,
permission
,
1
);
}
catch
(
error
)
{
console
.
info
(
`getPermission
${
permission
}
failed`
);
}
permissionState
.
set
(
permission
,
await
atManager
.
verifyAccessToken
(
tokenID
,
permission
));
}
permissionState
.
forEach
((
value
,
key
,
map
)
=>
{
if
(
value
!==
0
)
{
console
.
info
(
`getPermission failed; permission:
${
key
}
, state:
${
value
}
`
);
}
});
console
.
info
(
'
getPermission end
'
);
}
catch
(
error
)
{
console
.
info
(
`getPermission failed, error:
${
error
}
`
);
}
console
.
info
(
"
getPermission end
"
);
};
const
MODIFY_ERROR_CODE_01
=
"
-1000
"
;
...
...
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/test/getExifNoLocation.test.ets
浏览文件 @
6c49d718
...
...
@@ -16,39 +16,40 @@ import image from "@ohos.multimedia.image";
import mediaLibrary from "@ohos.multimedia.mediaLibrary";
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "deccjsunit/index";
import abilityAccessCtrl from "@ohos.abilityAccessCtrl";
import bundle from "@ohos.bundle";
import uitest from "@ohos.UiTest";
import { sleep } from "../../../../../../common";
import bundleManager from '@ohos.bundle.bundleManager';
export default function getExifNoLocation(abilityContext) {
describe("getExifNoLocation", function () {
beforeAll(async function () {
console.info("beforeAll case");
let atManager = abilityAccessCtrl.createAtManager();
let permissions = ["ohos.permission.READ_MEDIA"];
try {
atManager.requestPermissionsFromUser(abilityContext, permissions, (err, data) => {
console.info(`getPermission requestPermissionsFromUser ${JSON.stringify(data)}`);
});
} catch (err) {
console.log(`get permission catch err -> ${JSON.stringify(err)}`);
}
await sleep(1000);
let permissionState = new Map();
const permissions = [
'ohos.permission.READ_MEDIA',
];
let driver = uitest.Driver.create();
await sleep(2000);
let button = await driver.findComponent(uitest.ON.text("允许"));
await button.click();
await sleep(2000);
let appInfo = await bundle.getApplicationInfo("ohos.acts.multimedia.mediaLibrary", 0, 100);
let tokenID = appInfo.accessTokenId;
let isGranted = await atManager.verifyAccessToken(tokenID, "ohos.permission.READ_MEDIA");
if (isGranted != 0) {
console.info("getpermission failed");
const atManager = abilityAccessCtrl.createAtManager();
const appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
const userId = 100;
const appInfo = await bundleManager.getApplicationInfo('ohos.acts.multimedia.mediaLibrary', appFlags, userId);
const tokenID = appInfo.accessTokenId;
for (const permission of permissions) {
console.info('getPermission permission: ' + permission);
try {
await atManager.grantUserGrantedPermission(tokenID, permission, 1);
} catch (error) {
console.info(`getPermission ${permission} failed`);
}
permissionState.set(permission, await atManager.verifyAccessToken(tokenID, permission));
}
permissionState.forEach((value, key, map) => {
if (value !== 0) {
console.info(`getPermission failed; permission: ${key}, state: ${value}`);
}
});
console.info('getPermission end');
} catch (error) {
console.info(`getPermission failed, error: ${error}`);
}
});
beforeEach(function () {
...
...
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/test/getExifLocation.test.ets
浏览文件 @
6c49d718
...
...
@@ -16,41 +16,41 @@ import image from "@ohos.multimedia.image";
import mediaLibrary from "@ohos.multimedia.mediaLibrary";
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "deccjsunit/index";
import abilityAccessCtrl from "@ohos.abilityAccessCtrl";
import bundle from "@ohos.bundle";
import uitest from "@ohos.UiTest";
import { sleep } from "../../../../../../common";
import bundleManager from '@ohos.bundle.bundleManager';
export default function getExifLocation(abilityContext) {
describe("getExifLocation", function () {
beforeAll(async function () {
console.info("beforeAll case");
let atManager = abilityAccessCtrl.createAtManager();
let permissions = ["ohos.permission.MEDIA_LOCATION", "ohos.permission.READ_MEDIA"];
try {
atManager.requestPermissionsFromUser(abilityContext, permissions, (err, data) => {
console.info(`getPermission requestPermissionsFromUser ${JSON.stringify(data)}`);
});
} catch (err) {
console.log(`get permission catch err -> ${JSON.stringify(err)}`);
}
await sleep(1000);
let permissionState = new Map();
const permissions = [
'ohos.permission.MEDIA_LOCATION',
'ohos.permission.READ_MEDIA',
];
let driver = uitest.Driver.create();
await sleep(2000);
let button = await driver.findComponent(uitest.ON.text("允许"));
await button.click();
await sleep(2000);
let appInfo = await bundle.getApplicationInfo("ohos.acts.multimedia.mediaLibrary", 0, 100);
let tokenID = appInfo.accessTokenId;
let isGranted1 = await atManager.verifyAccessToken(tokenID, "ohos.permission.MEDIA_LOCATION");
let isGranted2 = await atManager.verifyAccessToken(tokenID, "ohos.permission.READ_MEDIA");
if (!(isGranted1 == 0 && isGranted2 == 0)) {
console.info("getpermission failed");
const atManager = abilityAccessCtrl.createAtManager();
const appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
const userId = 100;
const appInfo = await bundleManager.getApplicationInfo('ohos.acts.multimedia.mediaLibrary', appFlags, userId);
const tokenID = appInfo.accessTokenId;
for (const permission of permissions) {
console.info('getPermission permission: ' + permission);
try {
await atManager.grantUserGrantedPermission(tokenID, permission, 1);
} catch (error) {
console.info(`getPermission ${permission} failed`);
}
permissionState.set(permission, await atManager.verifyAccessToken(tokenID, permission));
}
permissionState.forEach((value, key, map) => {
if (value !== 0) {
console.info(`getPermission failed; permission: ${key}, state: ${value}`);
}
});
console.info('getPermission end');
} catch (error) {
console.info(`getPermission failed, error: ${error}`);
}
});
beforeEach(function () {
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录