zoukankan      html  css  js  c++  java
  • DCloud旗下的uni-app如何判断是否安装腾讯QQ微信微博支付宝淘宝客户端

    遇到的问题

    最近,在用uni-app混合方式开发app,在做微信授权登录的时候,要判断手机里面是否安装有微信客户端,如果没有安装提示用户「未安装微信客户端或版本过低」。刚开始用uniapp,很多语法都不太熟悉,心想,这个这么常用的判断,随便搜索引擎一搜不就有了。正所谓面向百度编程,没有什么能难倒程序员的。结果一搜就懵了,不信你搜搜看,「uniapp判断是否安装微信」,完全找不到想要的。我还是不死心,搜索引擎没有,官网总会有吧。去官网找了一圈,还是没有找到,心灰意冷。

    解决方案

    说实话,我也不记得是怎样找到这个方法的,方法非常简单,以下是官方介绍。如果需要看代码示例,请关注公众号longyoung,回复「uni判断微信」,即可获取我写的代码片段截图,有不明白的也可以在公众号提问。

    官方介绍(传送门)

    判断第三方程序是否已存在

    Boolean plus.runtime.isApplicationExist(appInf);

    1.0说明:

    如果第三方程序已安装则返回true,未安装则返回false。

    1.1参数:

    appInf: ( ApplicationInf ) 必选 要判断第三方程序的描述信息

    Android平台需要通过设置appInf的pname属性(包名)进行查询。iOS平台需要通过设置appInf的action属性(Scheme)进行查询,在iOS9以后需要添加白名单才可查询,在manifest.json文件plus->distribute->apple->urlschemewhitelist节点下添加(如urlschemewhitelist:["weixin"]).

    1.2返回值:

    Boolean : 第三方程序已安装则返回true,否则返回false。

    常用平台

    判断其他应用是否安装,可以用对应的pname和action来判断。以下是一些常用平台的pname和action。

    平台 pname action
    微信 com.tencent.mm weixin://
    QQ com.tencent.mobileqq mqq://
    新浪微博 com.sina.weibo sinaweibo://
    淘宝 com.taobao.taobao taobao://
    支付宝 com.eg.android.AlipayGphone alipay://
    京东 com.jingdong.app.mall openApp.jdMobile://
    优酷 com.youku.phone youku://
    高度地图 com.autonavi.minimap iosamap://
    百度地图 com.baidu.BaiduMap baidumap://

    PS:本文原创发于微信公众号longyoung,关注并回复「51电子书」免费领取程序员必读经典电子书。

  • 相关阅读:
    nmap 快速扫描所有端口
    cdh ntpdate 问题
    看22是不是被玻璃破解
    lucas定理
    HDU1398--Square Coins(母函数)
    【转】HDU1028
    【转】母函数(Generating function)详解 — TankyWoo(红色字体为批注)
    HDU--1085--Holding Bin-Laden Captive!(母函数)
    HDU2588--GCD(欧拉函数)
    【转】扩展欧几里德
  • 原文地址:https://www.cnblogs.com/longyoung/p/12115063.html
Copyright © 2011-2022 走看看