android跳转到淘宝详情页的小demo

demo的资源链接如下,有需求的童鞋自取:

https://github.com/wu2007369/android-demo/tree/master/taobaotest



该demo实现了以下三个功能:

1、存在淘宝app时跳转到淘宝商品详情界面(包括天猫商品)

2、存在淘宝app时跳转到淘宝店铺界面(包括天猫店铺)

3、不存在淘宝app时,通过WebView跳转到网页版淘宝(无论淘宝、天猫、商品、店铺)



****************************************************************************************************************************************************************************以下列出主要功能代码说明

void totianmao( String tbPath){
        Intent intent = new Intent();
        intent.setAction("Android.intent.action.VIEW");
        Uri uri = Uri.parse(tbPath); // 商品地址
        intent.setData(uri);
        intent.setClassName("com.taobao.taobao", "com.taobao.tao.detail.activity.DetailActivity");
        startActivity(intent);
    }

这是跳转淘宝内的商品详情页方法。

使用的是隐式Intent来跳转到app,通过设置Action、Url和要跳转到的Activity的包名类名,来确认目标。

商品的Url可以去淘宝的网页版里扣下来,满足我demo中的类似格式,淘宝app就能自动解析。

顺带提一句,天猫的商品和淘宝的商品Url,在这个方法中是共通的。如果只装了淘宝app,则都能起作用,但如果手机里装了淘宝app和天猫app的话,会发现打开的是不同的app。而如果没有装淘宝app,则会拜拜,这个问题见后文讨论。




void toshop(String tbPath){

//        String tbPath="https://detail.tmall.com/item.htm?spm=a1z0d.6639537.1997196601.3.45d07484uw9hPZ&id=565570128470";
        Intent intent = new Intent();
        intent.setAction("Android.intent.action.VIEW");
        Uri uri = Uri.parse(tbPath); // 商品地址
        intent.setData(uri);
        intent.setClassName("com.taobao.taobao", "com.taobao.android.shop.activity.ShopHomePageActivity");
        startActivity(intent);
    }

这是跳转淘宝内的店铺界面的方法。

依旧是隐式Intent,流程类似上一个方法,唯二不同的是url和包名之后的类名。

店铺的Url也可以去淘宝网页版里扣,满足demo中的类似格式(你会发现在网页版不同方式打开同一店铺,url都不一样,我的试验结果是关注店铺加入收藏,然后点开的店铺url,亲测可用有效),淘宝app就能自动解析。

其实淘宝app的商品界面,店铺界面的包名类名,网上都有曝光,还想尝试跳转到淘宝别的地方的朋友,可以自己去搜了玩玩。




public boolean checkPackage(String packageName)
    {
        if (packageName == null || "".equals(packageName))
            return false;
        try
        {
            this.getPackageManager().getApplicationInfo(packageName, PackageManager
                    .GET_UNINSTALLED_PACKAGES);
            return true;
        }
        catch (PackageManager.NameNotFoundException e)
        {
            return false;
        }
    }

这是用来检测,手机内淘宝app是否存在的方法。

首先验错,传入包名不可为空或字符串,否则返回false。

其次用PackageManager的getApplicationInfo方法,通过参数包名,获得已安装的app的信息,执行成功返回true。如果程序未安装,则会抛出错误,返回false。



我们的处理方法就是,如果存在手机淘宝,那就放心的跳,如果不存在,那就把url传给下一个Activity,然后让WebView跳转到网页。贴心的我自然是把简单的WebView用法也给写好啦。

觉得有帮助的看官们,点个赞哦


  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: H5跳转到微信小程序是一种通过在H5面中添加跳转链接实现从H5跳转到微信小程序的功能。下面是一个H5跳转到微信小程序的demo: 1. 首先,在H5面中添加一个跳转到微信小程序的按钮或链接。可以使用HTML的<a>标签和href属性来实现。例如: ```html <a href="weixin://dl/business/?appid=wxappid">点击跳转到微信小程序</a> ``` 在上面的代码中,weixin://dl/business/ 是微信用于跳转到小程序的协议。 2. 将wxappid替换为你要跳转的微信小程序的AppID。可以在微信公众平台上的小程序管理后台找到小程序的AppID。 3. 当用户点击该按钮或链接时,系统会自动检测用户的设备是否安装了微信小程序。如果安装了,会自动打开小程序;如果未安装,会跳转到微信的下载面。 需要注意的是,以上方法只适用于在微信内部打开的H5面。在其他浏览器或App中打开的H5面无法使用该方法跳转到微信小程序。 另外,如果你是小程序开发者,还可以使用微信小程序提供的API实现跳转到其他小程序的功能。具体的实现方法可以参考微信小程序的开发文档。 ### 回答2: 在实现H5跳转到微信小程序的demo中,我们可以通过以下步骤来完成: 1. 首先,我们需要在H5面中引入微信提供的JS-SDK库文件,可以通过以下代码实现: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 2. 然后,我们需要在微信开放平台上注册并获取微信小程序的AppID。将获取到的AppID填写在H5面的`wx.config`配置中,具体代码如下: ```javascript wx.config({ appId: 'YourAppID', timestamp: '', nonceStr: '', signature: '', jsApiList: [] }); ``` 在`jsApiList`中填写小程序提供的JS接口,比如跳转到小程序的`launchMiniProgram`接口。 3. 接下来,我们需要在H5面中添加一个跳转按钮,并绑定点击事件。在点击事件中调用`wx.miniProgram`的`navigateBack`方法来实现跳转到小程序,具体代码如下: ```javascript document.getElementById('jumpBtn').addEventListener('click', function() { wx.miniProgram.navigateTo({ url: '/pages/index/index' }); }); ``` 其中,`url`参数填写要跳转到的小程序面路径。 4. 最后,在微信小程序的对应面中添加一个返回按钮,点击事件中调用`wx.miniProgram`的`navigateBack`方法来返回到H5面,具体代码如下: ```javascript wx.miniProgram.navigateBack(); ``` 通过以上步骤,我们就可以实现H5跳转到微信小程序的demo了。当用户点击H5面中的跳转按钮时,就会跳转到指定的小程序面;而在小程序面中点击返回按钮,则会返回到H5面。 ### 回答3: H5跳转到微信小程序的实现方式有多种。以下是一种具体的实现示例: 首先,在H5面中,可以通过添加一个按钮或链接来实现跳转到微信小程序的功能。例如,在HTML代码中添加一个按钮元素,然后使用JavaScript代码来监听按钮的点击事件。 HTML代码示例: ```html <button id="jumpButton">跳转到小程序</button> ``` 接着,在JavaScript代码中,通过调用微信小程序接口`wx.miniProgram.navigateTo`来实现跳转到指定的小程序面。需要在button的点击事件处理函数中编写相关代码。 JavaScript代码示例: ```javascript document.getElementById('jumpButton').addEventListener('click', function() { // 跳转到小程序的面路径,在小程序开发工具中可以找到 var path = '/pages/index/index'; // 跳转时携带的参数,在小程序中可以通过options参数获取 var params = { id: 123 }; // 调用微信小程序接口跳转到指定面 wx.miniProgram.navigateTo({ url: path + '?id=' + params.id }); }); ``` 在以上示例中,点击按钮后,会调用`wx.miniProgram.navigateTo`接口,携带指定的面路径和参数跳转到小程序的面。可以根据实际需求修改`path`和`params`变量的值来实现跳转到不同的小程序面和传递不同的参数。 需要注意的是,以上示例中的代码是基于微信小程序的开发接口实现的,所以要确保在微信浏览器中打开H5面才能正常跳转到微信小程序。此外,需要提前在微信小程序的配置文件中进行相应的设置,以确保能正确跳转到指定小程序面。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值