热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android实现打开手机淘宝并自动识别淘宝口令弹出商品信息功能

最近项目经理给我们安排一个活儿,基于Android开发实现打开手机淘宝,并自动识别淘口令,弹出商品信息,今天小编就抽空给大家分享下这个需求是怎么实现的,需要的朋友参考下吧

Android开发实现打开手机淘宝,并自动识别淘口令,弹出商品信息,大家都遇到过被莫名其妙拉进一个微信群,然后群主开始发一些商品的链接,我们点击这个链接,会让我们复制一个口令(就像这个¥AzZK0hPyou5¥),当我们复制这个口令打开淘宝会自动弹出这个商品的信息。今天,就来和大家分享一下,这个需求是如何实现的。

1.首先我们需要后台帮助我们对接淘宝的商品接口,因为这个东西(¥AzZK0hPyou5¥)是淘宝提供的,我们要做的只是通过网络请求我们的后台,把这个口令拿到就行,至于后台是如何调用淘宝的接口,这个完全不需要我们操心。

2.拿到这个口令以后,我们第一步先要打开淘宝,这里小伙伴们要注意一下,我们只需要打开手机淘宝的程序就行,不需要进入商品详情页什么(网上大部分都是讲的如何进入商品的详情页面,不过,对于我们这个需求,进入商品详情页面是不适用的),我们可以通过下面的代码来启动手机淘宝

Intent intent = getPackageManager().getLaunchIntentForPackage("com.taobao.taobao");
startActivity(intent);

上面的代码很好理解,通过淘宝包名创建了一个意图(注:“com.taobao.taobao”就是手机淘宝的包名),最后打开这个意图对应的Activity。

3.虽然这个时候我们已经能够成功的打开淘宝,但是,我们要如何让淘宝自动识别出来我们复制的口令所对应的商品信息呢?我当时也在这里卡了很久,我们不妨回头再看一下我们在微信群里的操作步骤,打开链接,复制商品的口令,再打开淘宝,自动弹出商品的信息(PS:这里感谢我的IOS搭档),我们只是做了一个复制的操作,就自动弹出商品的信息了,问题的关键应该就是在这里了。

4.既然是复制,肯定是复制到系统的剪切板了,我们可以通过下边的代码来把口令给复制到系统的剪切板里

//获取剪贴板管理器:
ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
// 创建普通字符型ClipData
ClipData mClipData = ClipData.newPlainText("Label", "¥AzZK0hPyou5¥");
// 将ClipData内容放到系统剪贴板里。
cm.setPrimaryClip(mClipData);

注意:ClipboardManager 和 ClipData 分别是下面的两个包下的

import android.content.ClipData;
import android.content.ClipboardManager;

5.我这里的步骤的顺序是不对的,应该是先复制信息到剪切板,然后再打开淘宝,第2步和第4步的顺序换一下就可以了。这里我是为了记录我当时的错误想法,所以排版就没有改过来,希望大家见谅!

最后:到这里这个需求就完成了,其实也挺简单的,希望可以帮助到有需要的小伙伴们!

PS:下面看下android 仿淘宝淘口令实现代码

复制*wangbin1*口令打开APP

在主activity  onResume中执行代码块

public void GangUpInvite(final Context context) {
  ClipboardManager clipboard = (ClipboardManager) context.getSystemService(CLIPBOARD_SERVICE);
  //无数据时直接返回
  if (!clipboard.hasPrimaryClip()) {
    return;
  }
  //如果是文本信息
  if (clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) {
    ClipData cdText = clipboard.getPrimaryClip();
    ClipData.Item item = cdText.getItemAt(0);
    //此处是TEXT文本信息
    if (item.getText() != null) {
      String str = item.getText().toString();
      String key = "*";
      final int first = str.indexOf(key);
      if (first >= 0) {
        String new1 = str.substring(first + 1);
        int tow = new1.indexOf(key);
        if (tow >= 0) {
          String new2 = new1.substring(0, tow);
          System.out.print(new2);
          if (new2.length() == 8) {
            //new2即为口令字符串
          }
        }
      }
    }
  }
}

取到key配合后端 获取该口令相关信息

总结

以上所述是小编给大家介绍的Android实现打开手机淘宝并自动识别淘宝口令弹出商品信息功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
author-avatar
任乔彦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有