热门标签 | 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实现打开手机淘宝并自动识别淘宝口令弹出商品信息功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文介绍如何通过SQL查询从JDE(JD Edwards)系统中提取所有字典数据,涵盖关键表的关联和字段选择。具体包括F0004和F0005系列表的数据提取方法。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
  • 本文介绍如何使用 NSTimer 实现倒计时功能,详细讲解了初始化方法、参数配置以及具体实现步骤。通过示例代码展示如何创建和管理定时器,确保在指定时间间隔内执行特定任务。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
author-avatar
koglum
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有