【Android】在App内打开链接跳转到淘宝/天猫店铺页

前言

本文主要描述如何在App内打开淘宝/天猫App且展示某个店铺。
本文以云南白药医药旗舰店为例。


1.判断手机上是否安装了淘宝/天猫App

淘宝应用包名:com.taobao.taobao
天猫应用包名:com.tmall.wireless
判断方法:

    /**
     * 检查手机上是否安装了指定的软件
     *
     * @param context context
     * @param pkgName 应用包名
     * @return true:已安装;false:未安装
     */
    public static boolean isPkgInstalled(Context context, String pkgName) {
        PackageInfo packageInfo;
        try {
            packageInfo = context.getPackageManager().getPackageInfo(pkgName, 0);
        } catch (PackageManager.NameNotFoundException e) {
            packageInfo = null;
            e.printStackTrace();
        }
        return packageInfo != null;
    }

2.店铺链接格式转换

这里以云南白药医药旗舰店(https://yunnanbaiyaoyy.tmall.com)为例,我们需要根据以下格式对该对应作出修改,以此保证能够正常的展示对应的店铺界面:

  • 淘宝
    taobao://shop.m.taobao.com/shop/shop_index.htm?shop_id=店铺id
  • 天猫
    tmall://page.tm/shop?shopId=店铺id
  • 如何获取店铺id?
    在浏览器打开指定的店铺地址->右键->查看网页源代码->Ctrl+F搜索"shopId"即可查询到对应的店铺id。
    【Android】在App内打开链接跳转到淘宝/天猫店铺页_第1张图片
    shop_id.png

3.跳转至指定的淘宝/天猫店铺页

  • 跳转至商铺的公共方法
    /**
     * 跳转至商铺
     *
     * @param activity Activity
     * @param url      商铺地址
     */
    public static void gotoShop(Activity activity, String url) {
        try {
            Intent intent = new Intent();
            intent.setAction("android.intent.action.VIEW");
            intent.setData(Uri.parse(url));
            activity.startActivity(intent);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
  • 跳转至淘宝云南白药天猫旗舰店
    if (isPkgInstalled(this, "com.taobao.taobao")) {
        gotoShop(this, "taobao://shop.m.taobao.com/shop/shop_index.htm?shop_id=185441148");
    } else {
        Log.e("OPEN_SHOP","您还没有安装淘宝客户端!");
    }
  • 跳转至天猫云南白药天猫旗舰店
    if (isPkgInstalled(this, "com.tmall.wireless")) {
        gotoShop(this, "tmall://page.tm/shop?shopId=185441148");
    } else {
        Log.e("OPEN_SHOP","您还没有安装天猫客户端!");
    }

如果您有更好的建议欢迎评论分享,如有错误,请批评指正,谢谢。

你可能感兴趣的:(【Android】在App内打开链接跳转到淘宝/天猫店铺页)