HarmonyOS如何选择图片
HarmonyOS如何选择图片
单图:
```js
let startParmameter = {
bundleName:"com.ohos.photos",
abilityName: "com.ohos.photos.MainAbility",
parameters: {
uri: "singleselect"
}
};
this.context.startAbilityForResult(startParmameter).then((result) => {
console.info(`startAbilityForResult Promise.resolve is called, result.resultCode = ${JSON.stringify(result)}`)
let want = result['want'];
console.info(`test select single ${JSON.stringify(want)}`);
if (want != null && want != undefined) {
let param = want['parameters'];
console.info(`test select single ${JSON.stringify(param)}`);
if (param != null && param != undefined) {
let uri = param['select-item-list'];
console.info(`test select single ${uri}`);
}
}
}, (error) => {
console.info(`startAbilityForResult Promise.Reject is called, error.code = ${error.code}`)
})
```
```js
let startParmameter = {
bundleName:"com.ohos.photos",
abilityName: "com.ohos.photos.MainAbility",
parameters: {
uri: "multipleselect"
}
};
this.context.startAbilityForResult(startParmameter).then((v) => {
let want = v['want'];
console.info(`test select multiple ${want}`);
if (want != null && want != undefined) {
let param = want['parameters'];
console.info(`test select multiple ${param}`);
if (param != null && param != undefined) {
let uri = param['select-item-list'];
console.info(`test select multiple ${uri[0]} ${uri[1]}`);
}
}
}, (error) => {
console.debug(`startAbility failed, error: ${JSON.stringify(error)}`);
})
```
如何进行大图预览:
```js
this.context.startAbility({
bundleName:"com.ohos.photos",
abilityName: "com.ohos.photos.MainAbility",
parameters: {
uri: "photodetail"
}
}).then((data) => {
console.debug('startAbility complete');
}).catch((error) => {
console.debug(`startAbility failed, error: ${JSON.stringify(error)}`);
})
```
完整代码:
```js
import mediaLibrary from '@ohos.multimedia.mediaLibrary';
import Ability from '@ohos.application.Ability';
import AbilityStage from "@ohos.application.AbilityStage";
import context from '@ohos.application.context';
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
@State img: string = ''
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold).onClick(()=>{
let context = getContext(this) as any
let startParmameter = {
bundleName:"com.ohos.photos",
abilityName: "com.ohos.photos.MainAbility",
parameters: {
uri: "singleselect"
}
};
context.startAbilityForResult(startParmameter).then((result) => {
console.info(`startAbilityForResult Promise.resolve is called, result.resultCode = ${JSON.stringify(result)}`)
let want = result['want'];
console.info(`test select single ${JSON.stringify(want)}`);
if (want != null && want != undefined) {
let param = want['parameters'];
console.info(`test select single ${JSON.stringify(param)}`);
if (param != null && param != undefined) {
let uri = param['select-item-list'];
this.img=param['select-item-list'];
console.info(`图片路径是 ${uri}`);
}
}
}, (error) => {
console.info(`startAbilityForResult Promise.Reject is called, error.code = ${error.code}`)
})
})
Image(this.img).width(50).height(50)
.width('100%')
}
.height('100%')
}
}}
```
参考:https://gitee.com/openharmony/applications_photos#4-%E5%85%B8%E5%9E%8B%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%BF%E7%94%A8