HarmonyOS 判断设备是否安装某个app

如何判断设备是否安装了某个app,我看官方文档里写明“不允许查询设备应用列表数据,相关权限无法申请。”那么是否可以通过bundleManager.canOpenLink方法替代判断?当我尝试使用此方法时,bundleManager.canOpenLink(‘cmbmobilebank://’)返回的结果是false(已安装),同样的方法,判断app是否已安装,返回的结果是true(已安装),请问可能会是什么问题?

开通红包功能里,需要判断是否安装了银行app,跳转进入绑卡功能

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

以下是demo:

//module.json5文件中加入链接

  "module": {
    "querySchemes": [
      "xxx",
      "xxx",
    ],
   "name": "entry",
   "type": "entry",
}



//index.ets文件中

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

@Entry
@Component
struct Index66 {
  build() {

    Text('click')
      .fontSize(40)
      .onClick(()=>{

        try {
          let link = 'xxx://';
          let data = bundleManager.canOpenLink(link);
          hilog.info(0x0000, 'testTag', 'canOpenLink successfully: %{public}s', JSON.stringify(data));
        } catch (err) {
          let message = (err as BusinessError).message;
          hilog.error(0x0000, 'testTag', 'canOpenLink failed: %{public}s', message);
        }

        try {
          let link = 'xxx://';
          let data = bundleManager.canOpenLink(link);
          hilog.info(0x0000, 'testTag', 'canOpenLink successfully: %{public}s', JSON.stringify(data));
        } catch (err) {
          let message = (err as BusinessError).message;
          hilog.error(0x0000, 'testTag', 'canOpenLink failed: %{public}s', message);
        }
      })
  }
}
//手机中已下载了app,没有下载支xx,结果如下:
08-05 20:07:20.552   26311-26311  A00000/testTag                 com.examp...ation_02  I     canOpenLink successfully: false
08-05 20:07:20.570   26311-26311  A00000/testTag                 com.examp...ation_02  I     canOpenLink successfully: true

参考链接:

https://developer.huawei.com/consumer/cn/blog/topic/03154191594256003

分享
微博
QQ
微信
回复
5天前
相关问题
怎么判断某个customDialog是否弹出?
384浏览 • 1回复 待解决
HarmonyOS判断Object中是否含有某个属性
1273浏览 • 1回复 待解决
如何判断HAP是否安装
2111浏览 • 1回复 待解决
HarmonyOS 如何判断应用是否安装
222浏览 • 1回复 待解决
如何判断某个应用是否为系统应用
2473浏览 • 1回复 待解决
如何判断JS对象中是否存在某个
2523浏览 • 1回复 待解决
怎样判断当前设备是否连接了VPN?
1055浏览 • 1回复 待解决