HarmonyOS 鸿蒙Next h5和原生交互
HarmonyOS 鸿蒙Next h5和原生交互
2、APP内部运行的h5页面,在不使用jsbridge的情况下,有没有类似url scheme的方式打开原生指定页面?
第三方应用app可以拉起纯鸿蒙应用市场,并跳转到某个指定应用的详情页面。 实现逻辑: 基于context.startAbility方法拉起指定应用,并携带参数。其中type是固定配置值,uri是"store://appgallery.huawei.com/app/detail"拼接上id参数,才能拉起鸿蒙应用市场详情页面。 uri: ‘store://appgallery.huawei.com/app/detail?id=’+appId
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
@Entry
@Component
struct Index {
@State appId: string = 'C1142586279411547392';
controller: TextInputController = new TextInputController();
build() {
Row() {
Column() {
TextInput({ text: this.appId, placeholder: '请输入应用的appId', controller: this.controller })
.width('90%')
.onChange((value: string) => {
this.appId = value
})
Button('点击跳转到鸿蒙版应用市场详情页面')
.margin({top: 50})
.onClick(()=>{
const want: Want = {
uri: `store://appgallery.huawei.com/app/detail?id=${this.appId}`
};
const context = getContext(this) as common.UIAbilityContext;
context.startAbility(want).then(()=>{
//拉起成功
}).catch(()=>{
// 拉起失败
});
})
}
.width('100%')
}
.height('100%')
}
}
通过浏览器拉起应用,目前没有相关代码指导,因为是网页和第三方对接,浏览器本身只是个中转者 网页:跳转app的连接url,其中url符合want中的uri格式 浏览器是中转者,转换want,使用startAbility拉起 app:需要在module.json5中声明支持该want的拉起能力,目前需要应用自行处理业务