HarmonyOS 系统的ArkUI中的WebView组件,能不能直接使用input标签直接调起相机?

HarmonyOS 系统的ArkUI中的WebView组件,能不能直接使用input标签直接调起相机?


HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

没有手动去调用启动相机的ability,H5调用相机需要写代码去拉起,示例代码见下方。

import webview from '@ohos.web.webview'; 
import { BusinessError } from '@ohos.base'; 
import common from '@ohos.app.ability.common'; 
 
@Entry 
@Component 
struct Index { 
  @State message: string = 'Hello World'; 
  controller = new webview.WebviewController(); 
 
 
  invokeCamera(callback?: (uri: string) => void) { 
    const context = getContext(this) as common.UIAbilityContext 
    context.startAbilityForResult({ 
      action: 'ohos.want.action.imageCapture', 
      parameters: { 
        callBundleName: 'com.example.mydemo' 
      } 
    }, (err: BusinessError, data: common.AbilityResult) => { 
      if (err && err.code != 0) { 
        console.error('imageCapture error:' + ${JSON.stringify(err)}); 
        return; 
      } 
      console.warn('imageCapture data:' + ${JSON.stringify(data)} 
 
 
      ) 
      ; 
      let uri = data?.want?.parameters?.resourceUri; 
      if (callback && uri) { 
        callback(uri.toString()) 
        ; 
      } 
    }) 
 
  } 
 
 
  build() { 
    Row() { 
      Column() { 
        Web({ src: $rawfile('index.html'), controller: this.controller }) 
          .onShowFileSelector((event) => { 
            if (!event) { 
              return false; 
            } 
            console.log('isCapture: ' + event.fileSelector.isCapture()) 
            this.invokeCamera(uri => { 
              event?.result.handleFileList([uri]); 
            }); 
            return true; 
          }) 
 
 
      } 
      .width('100%') 
    } 
    .height('100%') 
 
  } 
}
分享
微博
QQ
微信
回复
1天前
相关问题
电脑能不能刷鸿蒙系统
15679浏览 • 14回复 待解决
打开相机:直接使用相机拍照能力
1451浏览 • 1回复 待解决
升级鸿蒙系统后原来app能不能
10246浏览 • 2回复 待解决
鸿蒙可以直接调用系统相机吗?
8411浏览 • 1回复 待解决
荣耀30pro能不能升级鸿蒙系统
7192浏览 • 1回复 待解决
荣耀30S能不能升级鸿蒙系统
8965浏览 • 1回复 待解决
@State能不能装饰接口
708浏览 • 1回复 待解决
opporeno5pro能不能装鸿蒙系统
9400浏览 • 1回复 待解决
HarmonyOS Camera_CaptureSession 能不能重用
243浏览 • 1回复 待解决
DevEco Studio 不能直接更新?
8663浏览 • 8回复 已解决
File公有目录是不能不能创建 ?
2749浏览 • 1回复 待解决
相机surface可以直接到encoder吗
1627浏览 • 1回复 待解决
华为能不能做个快捷指令?
7407浏览 • 1回复 待解决
鸿蒙左右下拉栏能不能互换?
15776浏览 • 4回复 待解决
cmake编译时候信息能不能多一些
468浏览 • 1回复 待解决