HarmonyOS 跳转应用商店

跳转应用商店首页和应用商店某个app页面

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

可以使用javaScriptProxy能够实现在前端页面调度应用侧函数,在应用侧通过startAbility拉起指定的Ability

前端页面调用参考如下代码:

import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
import web_webview from '@ohos.web.webview';
import { hilog } from '@kit.PerformanceAnalysisKit';

@Entry
@Component
struct Index {

  controller: TextInputController = new TextInputController();

  webviewController: web_webview.WebviewController = new web_webview.WebviewController();

  aboutToAppear() {
    // 配置Web开启调试模式
    web_webview.WebviewController.setWebDebuggingAccess(true);
  }

  build() {
    Row() {
      Column() {
        //h5跳转
        Web({ src: $rawfile('index.html'), controller: this.webviewController }).onControllerAttached(() => {
          // 传递runJavaScript侧代码方法。
          this.webviewController.registerJavaScriptProxy(new JSImpl(), 'android', ['shareAction'])
          this.webviewController.refresh();
        }).onPageEnd(() => {
          hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
        })
          .onConsole((event) => {
            if (event) {
              console.log('getMessage:' + event.message.getMessage())
            }
            return false
          })

      }.width('100%')
    }.height('100%')
  }
}
class JSImpl {
  /**
   * JS调用端侧方法
   * 分享
   */
  shareAction() {
    console.log('跳转应用商店')
    const appId: string = 'xxx';
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
    const want: Want = { uri: `store://appgallery.huawei.com/app/detail?id=${appId}` };
    const context = getContext(this) as common.UIAbilityContext;
    context.startAbility(want)
      .then(() => { //拉起成功
      }).catch(() => { // 拉起失败
    });
  }
}
<!-- index.html -->
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="callArkTS()">h5点击跳转到HarmonyOS版应用市场详情页面</button>
<script>
    // Click Me!触发前端页面callArkTS()函数执行JavaScript传递的代码。
    function callArkTS() {
    const shareAndroid = window.android.shareAction();
    shareAndroid();
    }
</script>
</body>
</html>

module.json5需要配置一下网络权限

"requestPermissions": [
{
  'name': "ohos.permission.INTERNET"
}
]
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 跳转应用商店下载更新
300浏览 • 1回复 待解决
ets怎么跳转应用商店
3629浏览 • 1回复 待解决
HarmonyOS 跳转华为应用商店详情页
273浏览 • 1回复 待解决
求鸿蒙应用跳转应用商店的方式?
3955浏览 • 1回复 待解决
如何跳转商店应用下载的位置?
318浏览 • 1回复 待解决
应用商店更新机制有人知道吗
1919浏览 • 1回复 待解决
HarmonyOS 跳转应用市场
40浏览 • 1回复 待解决
HarmonyOS应用升级跳转应用市场推荐
432浏览 • 1回复 待解决
HarmonyOS 跳转应用市场评分
271浏览 • 1回复 待解决
HarmonyOS 跳转应用市场问题
28浏览 • 1回复 待解决
HarmonyOS商店下载次数包含APP升级吗
22浏览 • 1回复 待解决
鸿蒙应用如何跳转到Android应用
4730浏览 • 1回复 待解决
HarmonyOS 应用跳转系统相册
263浏览 • 1回复 待解决