概述
转载至 【Android】在App内打开链接跳转到淘宝/天猫店铺页 - 简书
Android11+要加上此权限
此权限非动态申请,直接添加到AndroidManifest.xml中即可。
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" /><!-- 检测是否安装了某应用 API30 -->
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。
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","您还没有安装天猫客户端!"); }
跳转浏览器指定网页
-
Uri uri = Uri.parse("https://www.baidu.com"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
最后
以上就是精明音响为你收集整理的Intent跳转指定APP和跳转浏览器的全部内容,希望文章能够帮你解决Intent跳转指定APP和跳转浏览器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复