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

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

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

HarmonyOS
2025-01-09 14:23:04
浏览
收藏 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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.

参考链接:

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

分享
微博
QQ
微信
回复
2025-01-09 17:31:01


相关问题
怎么判断某个customDialog是否弹出?
776浏览 • 1回复 待解决
HarmonyOS判断Object中是否含有某个属性
2034浏览 • 1回复 待解决
如何判断HAP是否安装
2515浏览 • 1回复 待解决
HarmonyOS 如何判断应用是否安装
841浏览 • 1回复 待解决
如何判断某个应用是否为系统应用
3088浏览 • 1回复 待解决
如何判断JS对象中是否存在某个
2943浏览 • 1回复 待解决
怎样判断当前设备是否连接了VPN?
1919浏览 • 1回复 待解决