前言
本文主要描述如何在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。
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","您还没有安装天猫客户端!");
}
如果您有更好的建议欢迎评论分享,如有错误,请批评指正,谢谢。