怎么短按按出二维码破坏哪里扫不出啊???我按了半天没有出来???

帖子很冷清,卤煮很失落!求安慰
手机签到经验翻倍!快来扫一扫!
为什么我长按二维码无法识别
84浏览 / 6回复
如题,我想关注公众号,长按那二维码,除了震动一下,替他什么内容都没识别出来。这肿么解决呢?
就是这意思,长按二维码没有出现这个
请问有人知道怎么处理吗?
存成图片,在扫一扫
既然你诚心诚意地发贴了,那我就大发慈悲地回你一贴。为了防止论坛被破坏,为了维护此楼的和平!贯彻爱与真实的邪恶可爱又迷人的顶贴角色! 穿梭在银河之间的顶贴队。
值得学习,楼主强人。
可能感兴趣的板块:
用户名/注册邮箱/注册手机号
其他第三方号登录在手机端只要把二维码图片弄出来,长按就会显示识别图中二维码?_百度知道
在手机端只要把二维码图片弄出来,长按就会显示识别图中二维码?
我有更好的答案
不是的,只有在微信里的二维码长按才会自动识别,这是微信的功能,支付宝好像也有。保存在手机图库里的二维码长按没有用
我想做个微信商城中的二维码,也就是说微信中二维码的图片出来以后,长按会显示识别图中二维码?
是的!通过微信发出去的,可以长按识别
采纳率:87%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。微信动态二维码长按识别动态图是怎么做出来的,有么有在线生成的工具,不会PS,有大神提供没?_百度知道
微信动态二维码长按识别动态图是怎么做出来的,有么有在线生成的工具,不会PS,有大神提供没?
我有更好的答案
动态二维码长按识别图制作可以使用在线的二维码生成器。1、直接通过百度搜索【微助点动态二维码制作】;2、到二维码的指纹制作页,上传自己的二维码2、点击【生成创意二维码】按钮,然后生成动态页面直接鼠标右键另存微保存到本地电脑桌面就可以了。
采纳率:83%
为您推荐:
其他类似问题
二维码的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。小程序支持长按二维码识别,井喷前夜你必须知道这些事!
我的图书馆
小程序支持长按二维码识别,井喷前夜你必须知道这些事!
小程序支持长按二维码识别,井喷前夜你必须知道这些事!
果酱妹 微果酱
功能介绍 微果酱,专注于新媒体人物故事、资讯、数据分析及推广干货的分享; 微果酱新媒体商业联盟,聚合了30大类别原创公众号,核心联盟成员资源覆盖8100万+用户,且聚合力量不断扩充中。
昨晚,万众期待的长按二维码识别进入小程序的功能终于放开了,同时,在朋友圈也能识别进入,看来,线上流量终于要彻底打通了。▲长按可识别从不支持模糊搜索到逐步放开,以及各种入口的逐步打开,可以看到,微信有意释放小程序流量:早在3月18日,就有用户发现,安卓版微信的最新版本开放了长按二维码识别的入口,但很快就失灵了,而ios并未开放。如今,长按二维码就可以识别进入小程序的入口正式开放,无疑对线上流量来说又是一次大爆发。意味着公众号跟小程序就可以打通了,你可以在文章里面随便放二维码,也可以在菜单栏放上二维码链接,小程序的连接方式更多样化。加上近日模糊搜索的开放,小程序在线上可以攫取更多流量,从而为线下铺路。对于此次的功能开放,果酱妹特地去采访了牛逼闪闪的Denis,他认为,主要会有以下利好:①公众号可以直接给小程序导流量。以前,我们给大家安利小程序时,只能告诉其怎么搜索:微信搜索栏-输入小程序名称(比如「点滴小情绪」);如今,我们只需要在公众号放入小程序二维码,或者直接将二维码丢给别人,就可以长按二维码使用了。如此一来,公众号+小程序的玩法更多,小程序的商业空间也更大了。比如说,一个电商类的小程序,可以在其公众号里面介绍产品,并在下面放入小程序,用户长按二维码识别后,便可直接完成付款步骤,简单便捷。②变相打开朋友圈入口。虽然现在小程序不能直接分享到朋友圈,但是长按识别二维码的功能变相把这条路给打通了,小程序只要有能够生成带小程序自身二维码海报功能,结合用户的需求,让用户将海报分享到朋友圈,也可以让海量流量的朋友圈给小程序导流。所以小程序生成海报的功能将会成为标配。③线上流量必将带动线下流量。虽然小程序一直强调场景应用,但是线下的用户永远要慢好几拍。这或许也是微信小程序开放长按识别二维码的功能的原因,只有一部分人利用小程序线上流量,带动线下流量,做出成功案例后,自然会有其他用户看到小程序的商业价值,去尝试做各种尝试,如此才能带动其他用户一起共同富裕,最终带动线下的商家一起全民小程序。④小程序流量时代真正到来。按照微信现在的动作,小程序的唯一的限制(还不能直接分享到朋友圈)估计也会很快放出来。此前,小程序已经给小程序带来非常大的流量,长按识别二维码的功能和以后即将开放的直接分享到朋友圈的功能,就会给小程序带来爆炸式的流量。看来,微信是要力捧小程序的节奏呀,不知此前在微信公开课上提到的功能什么时候会开放呢?假如开放,小程序的商业价值大得你无法想象呀。实际上,除了小程序这个大新闻外,这周还发生了不少事,让我们一起来回顾一下吧。微信公众号1、公众号可以注销了4月12日微信官方发布公告称,微信公众号可以自主注销,用户在核实身份信息或者验证帐号主体后,可以在公众号后台-“公众号设置”-“原始ID”中,发起注销流程。帐号完成注销后,主体注册次数、运营者身份证信息、手机号码、帐号昵称、管理员微信号、注册邮箱等,均可释放。&对于微信公众号注销一事,微果酱也有进行分析,。2、公众号后台出Bug4月14日下午,不少运营者向果酱妹反映,后台编辑素材时出现不能保存的问题,还会提示以下画面:当点击“编辑新内容”时会同时打开两个编辑页面,所谓的新内容其实是修改前的内容;点击“查看当前内容”才是新内容,然而并没有保存键。也就是说,你必须在“编辑新内容”的页面重新修改一次内容,但结果有可能一直在循环。后台抽风就会有新功能出现,果酱妹发现后台回复留言处增加了小黄脸表情:当然,最重磅的还是小程序长按识别二维码功能开放,详见开头果酱妹的分析~&3、Papitube签约近30短视频创作者据钛媒体消息,截止目前,papitube已经签约了近30短视频创作者,其中有多个创作者的粉丝也已到达百万级别,每日针对不同的粉丝受众产出内容,已经成为了典型的MCN机构。&papi酱3月份时并入Angelababy经纪公司,上周,融资。资本的再次入局对papitube平台的发展算是一大利好。不过,虽然papi酱是大家眼中的网红,杨铭却表示想把papitube定位成自媒体而不是网红的角色。4、多个公众号因造谣运营者被逮捕·据内蒙古法制报消息,去年十月,一段标有“刚刚发生、黄曲霉素超标、牛奶又出事了”等吸引眼球标题的视频被大量转载,因其转载量巨大,社会影响较大,蒙牛集团向警方报警。经证实,此网络新闻来源于2011年一则旧消息,某公众号为了谋取广告利益,修改内容制造假新闻。目前,犯罪嫌疑人刘某已经被逮捕。&·据交汇点4月8日消息,盐城市东台一公众号为增加人气,发布了“东台杀人解尸”的不实内容,在短时间内引发网民大量点击和转发,严重扰乱社会秩序。目前,涉事微信公众号工作人员被警方处理。&其他平台功能更新1、头条号上线「涨粉量」和推荐诊断功能4月9日,头条号文章维度「涨粉量」数据上线。作者可在后台「内容管理」和「文章分析」模块查看单篇内容为头条号带来的涨粉量数据。此外,本次功能新增“推荐诊断”和“分享”选项,点击推荐诊断会出现以下页面:新上线的功能对于头条号的运营者来说无疑方便许多,可以清晰的知道每篇文章带来的涨粉量,在推荐诊断环节,运营者也可以根据具体情况做出优化。&2、头条号「加V认证」启动内测4月10日,头条号推出「加V认证」功能,邀请部分作者参与内测。被邀请的作者,可通过PC端头条号后台-「帐号状态」-「加V认证」申请加V认证,在头条号指数≥400、粉丝数≥10000后,可自主加V。据悉,目前仅邀请部分「个人」类型头条号作者自主申请加V认证。&3、网易号平台升级,上线网易号指数4月12日,网易号平台全面升级,主要为以下三点:·入驻账号主体分类重新分类;·网易号指数功能上线,可以理解为“你的内容有多值得被推荐”,与头条号指数相似;&·网易号星级体系全面升级,新星级体系上线后,体系分为五个星级,一星等级最低,五星最高;4、一点资讯号上线原创功能4月11号,一点号「原创」功能正式开放公开申请。登录一点号后台,通过左侧菜单的「设置」-&「账号功能」 申请开通 「原创」功能。值得注意的是,目前原创功能仅支持账号类型为“个人”的一点号申请开通。其他1、腾讯上线“成长守护平台”公众号近日,腾讯推出了“成长守护平台”公众号,简单来说,就是“防止小学生过度玩游戏的神器”。家长可以关联孩子的QQ和微信账号,直接通过公众号可查询孩子的消费记录、玩游戏记录。同时还能进行上网时段设置,监控孩子的上网行为。而“最狠”的功能是一键禁止,目前有30款腾讯游戏可以被禁玩。&对于这个功能,网上的神评论也不少:“一定是腾讯高管玩王者荣耀被小学生坑了”“男人听完也会流泪,被女朋友绑定账号”……然鹅,鹅厂规定超过18岁的账户就无需绑定了。2、湖里区公安局4个月打掉11个“微信赌场”台海网4月14日消息,湖里区公安局深入开展“打黑恶,缉枪爆”专项行动,2017年以来,湖里区公安局4个月打掉了11个“微信赌场”,抓获60名犯罪嫌疑人。&3、支付宝的小程序功能下周发布?4月12日“爱范儿”发文称,支付宝小程序将于下周正式发布,支付宝还会将小程序和生活圈进行绑定。据了解,支付宝或还将允许用户定义小程序快捷入口,用户可以把比较常用然而又不想单独安装的 app 更换成小程序,放在支付宝首屏以便快速启动。不过,据36氪向相关人士求证后的的消息,对方否认了下周推出的消息。&4、冯大辉的无码科技发布第一款产品4月11日,无码科技创始人冯大辉在其公众号“小道消息”上发布第一款产品,暂定名为Readhub。简单来说,这个产品相当于一个信息源的整合,“每天花几分钟了解一下互联网行业里发生的事情”。Readhub采取的形式是,标题加链接,要看文章详情,跳转到目标网站。页面上会有一些产品推荐,比如懒投资、总管家云 CRM、小密圈、读库等。在PC端访问https://readhub.me&即可进入。&5、百度与视觉中国达成略合作据36氪消息,4月13日上午,百度宣布与视觉中国集团达成合作,涉及图片、视频、音乐等内容资源。百度称,该战略合作覆盖了百度及百度系的各类产品,为用户、内容创作者、商业广告客户等提供最优质的正版图片等内容资源。这是版权图像机构和搜索引擎的首次正版知识产权领域的合作。&果酱妹只想问,这是不是意味着以后在百度上找图侵权的风险比较小了?毕竟图片版权这个东西一不小心就踩坑了……&6、我国成全球第三大视频付费市场据人民日报消息,《2016中国视频行业付费市场研究报告》显示,2016年中国视频有效付费用户规模已突破7500万,成为继北美、欧洲之后全球第三大视频付费市场。用户付费占比19.3%,20—29岁群体是视频付费用户最大群体,占到了付费视频网民的44.2%;其次是30—39岁,占比23.4%;19岁以下的23.1%。而40岁以上仅占9.3%。&&此外,该报告显示,2016年中国视频付费剧达到239部,同比增长564%,其中网络剧成为主力,占到近五成。你愿意花钱追剧吗?&7、我国网络直播用户规模达到3.44亿据人民日报消息,《中国互联网络发展状况统计报告》显示,截至2016年12月,我国网络直播用户规模达到3.44亿,已占到网民总体的47.1%,其中体育直播、演唱会直播和真人聊天秀直播的使用率均约20%。&巨大的市场需求和用户群体,让不少直播平台“受宠”,不过,一些直播平台数据渗水,以低俗内容打“擦边球”等行为却令人诟病。继上周国家网信办对18款直播类应用下架并关停后,直播平台或许也将开启“洗牌时间”。&8、Instagram Stories用户破2亿据BI中文站4月14日消息,Facebook旗下图片分享应用Instagram周四宣布,自去年8月推出Instagram Stories功能以来,目前已有超过2亿人在使用该功能,数量高于今年1月的1.5亿人。此外,Facebook Messenger月活用户数也突破12亿,而去年7月时只有10亿。9、Facebook Messenger添加群组付款功能据cnBeta.COM消息,最新的Messenger应用中扩展了付款功能,允许用户同时向多人支付。就像以前一样,用户首先需要绑定一张银行卡并设置PIN码。用户只需点击屏幕左下角的加号按钮,然后选择“付款”图标。随后他们需要选择要发送或要求付款的群组中的用户,输入金额后就可完成付款。&商业1、陌陌市值破70亿美元据新浪科技消息,北京时间4月11日,中国概念股收盘普遍上涨,其中陌陌飙涨7.36%报收37.5美元,市值一举突破71.95亿美元。盘中陌陌最高股价到达38.12美元,创下了历史新高。&2、人人视频完成B轮融资,布局海外短视频社区据亿欧网消息,近日,主打海外短视频内容的平台“人人视频”宣布已经完成B轮融资,由赛富、小米、百度视频和头头是道共同领投。人人视频CEO周为民表示,下一步,人人视频将着力打造国内领先的海外内容社区。不久前,陌陌刚刚公布了2016年四季度亮眼的财报,财报显示,陌陌净营收达2.461亿美元,同比增长524%。同时,截至日,陌陌月活用户达到8110万,创下历史新高。&3、网易云音乐获得7.5亿A轮融资估值80亿4月11日腾讯科技消息,网易云音乐已确定获得A轮融资,此轮融资金额为7.5亿元,由上海广播电视台、上海文化广播影视集团(简称“SMG”)战略领投,芒果文创(上海)股权投资基金(简称“芒果文创”)、中金佳泰基金参投,此轮融资后,网易云音乐估值为80亿元。&公开资料显示,网易云音乐2013年4月份上线,日 网易云音乐对外宣布该平台用户数量已经在该年7月初超过两亿,比2015年同期增长100%。4、视频内容电商公司爱开箱获千万元天使投资据新芽网消息,新锐视频内容电商公司爱开箱日前获得千万元天使投资,峰瑞资本等投资。爱开箱用短视频的方式,讲述人和商品的关系,剖析品质生活所需的各类消费品,并提供具有稀缺性的购买通道。&5、传百度视频正进行新一轮融资,融资金额8亿元据TechWeb4月13日消息,有自媒体报道称,百度视频正启动8亿元人民币的融资,投前估值约20—25亿元,投后估值约28—33亿元。&日,百度旗下百度视频业务分拆独立,成立了北京小度互娱科技有限公司,并宣布已完成10亿元对外融资,投资方包括国内影视传媒企业新文化和赛富基金,其中新文化为领投方。&6、社交VR音乐TheWaveVR完成400万美元融资映维网4月13日消息,TheWaveVR完成了由Upfront Ventures领投的新一轮融资,金额为400万美元。除了Upfront Ventures,本轮的投资者还包括RRE Ventures、KPCB Edge、Greycroft VR Gaming Tracker Fund和The VR Fund。&《TheWaveVR》是一专为音乐爱好者设计的VR平台,用户能够随时随地在观看和主持现场直播和录制节目,并且从中进行社交。&7、PopularPays 融资310万美元PopularPays 近日宣布新融资 310 万美元,由 GoAhead VC 领投。此前,这家公司曾获得 200 万美元的 A 轮融资。&PopularPays 成立于 2013 年,为社交平台用户和广告投放商之间建立了一个撮合平台。
该文章作者已设置需关注才可以留言
该文章作者已设置需关注才可以留言
以上留言由公众号筛选后显示
微信扫一扫关注该公众号
喜欢该文的人也喜欢安卓webView实现长按二维码的自动识别功能
前面我还以为二维码按住会有识别图中二维码功能,结果去微信里面按住二维码是真心没有效果。
然后发现微信一般实现这功能都是在网页里,然后说是getHitTestResult()这个方法可以获取点击的内容,然后网上去搜了下这个。
在点击事件发现了下面这段代码:
&code class=&hljs rust has-numbering& style=&display: padding: 0 color: box-sizing: border- font-family: 'Source Code Pro',font-size: white-space: border-radius: 0 word-wrap: background:&&&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&if&/span& (v instanceof WebView) {
WebView.HitTestResult result = ((WebView) v).getHitTestResult();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&if&/span& (result != null) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&int&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&type&/span& = result.getType();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&if&/span& (&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&type&/span& == WebView.HitTestResult.IMAGE_TYPE || &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&type&/span& == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
imgurl = result.getExtra();
}&/code&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&/ul&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&/ul&
可以看出触摸事件可以获得触摸的内容,上段代码就可以获得触摸图片的路径。&
看下实现效果:&
截屏效果不是很好有点卡顿,其实弹出识别图中二维码效果时还是有点动画效果的。&
实现思路:先找一个带二维码图片的网页用webView来加载,然后长按图片读出二维码图片的位置,并且把图片下载下来,再用Zxing来判断是不是二维码,是呢才去进行二维码识别后续操作。
第一步:准备微信的依赖
&code class=&hljs rust has-numbering& style=&display: padding: 0 color: box-sizing: border- font-family: 'Source Code Pro',font-size: white-space: border-radius: 0 word-wrap: background:&&dependencies {
compile fileTree(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&dir&/span&: &span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&'libs'&/span&, include: [&span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&'*.jar'&/span&])
compile &span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&'com.android.support:appcompat-v7:23.1.1'&/span&
compile &span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&'com.google.zxing:core:3.2.0'&/span&
}&/code&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&/ul&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&/ul&
当然了,你也可以导入jar放到libs下面。
第二步:添加应有的权限
&code class=&hljs xml has-numbering& style=&display: padding: 0 color: box-sizing: border- font-family: 'Source Code Pro',font-size: white-space: border-radius: 0 word-wrap: background:&&&span class=&hljs-tag& style=&color: rgb(0, 102, 102); box-sizing: border-&&&&span class=&hljs-title& style=&box-sizing: border- color: rgb(0, 0, 136);&&uses-permission&/span& &span class=&hljs-attribute& style=&box-sizing: border- color: rgb(102, 0, 102);&&android:name&/span&=&span class=&hljs-value& style=&box-sizing: border- color: rgb(0, 136, 0);&&&android.permission.INTERNET&&/span&/&&/span&
&span class=&hljs-tag& style=&color: rgb(0, 102, 102); box-sizing: border-&&&&span class=&hljs-title& style=&box-sizing: border- color: rgb(0, 0, 136);&&uses-permission&/span& &span class=&hljs-attribute& style=&box-sizing: border- color: rgb(102, 0, 102);&&android:name&/span&=&span class=&hljs-value& style=&box-sizing: border- color: rgb(0, 136, 0);&&&android.permission.WRITE_EXTERNAL_STORAGE&&/span&&&/span&&span class=&hljs-tag& style=&color: rgb(0, 102, 102); box-sizing: border-&&&/&span class=&hljs-title& style=&box-sizing: border- color: rgb(0, 0, 136);&&uses-permission&/span&&&/span&&/code&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&/ul&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&/ul&
第三步:加载带二维码的webView
这里我们先封装个webView:
&code class=&hljs java has-numbering& style=&display: padding: 0 color: box-sizing: border- font-family: 'Source Code Pro',font-size: white-space: border-radius: 0 word-wrap: background:&&&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&package&/span& com.richerpay.zxingcode.zxingcodeforwebview.
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.content.C
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.graphics.B
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.view.V
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.view.View.OnLongClickL
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.webkit.WebS
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.webkit.WebSettings.RenderP
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.webkit.WebSettings.ZoomD
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.webkit.WebV
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&import&/span& android.webkit.WebViewC
&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**
* 自定义WebView,长按图片获取图片url
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-class& style=&box-sizing: border-&&&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&class&/span& &span class=&hljs-title& style=&box-sizing: border- color: rgb(102, 0, 102);&&CustomWebView&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&extends&/span& &span class=&hljs-title& style=&box-sizing: border- color: rgb(102, 0, 102);&&WebView&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&implements&/span& &span class=&hljs-title& style=&box-sizing: border- color: rgb(102, 0, 102);&&OnLongClickListener&/span&{&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&private&/span& C
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&private&/span& LongClickCallBack mCallB
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-title& style=&box-sizing: border-&&CustomWebView&/span&(Context context, LongClickCallBack mCallBack) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&super&/span&(context);
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&.context =
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&.mCallBack = mCallB
initSettings();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&private&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&initSettings&/span&() {
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 初始化设置&/span&
WebSettings mSettings = &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&.getSettings();
mSettings.setJavaScriptEnabled(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//开启javascript&/span&
mSettings.setDomStorageEnabled(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//开启DOM&/span&
mSettings.setDefaultTextEncodingName(&span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&&utf-8&&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//设置字符编码&/span&
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//设置web页面&/span&
mSettings.setAllowFileAccess(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//设置支持文件流&/span&
mSettings.setSupportZoom(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 支持缩放&/span&
mSettings.setBuiltInZoomControls(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 支持缩放&/span&
mSettings.setUseWideViewPort(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 调整到适合webview大小&/span&
mSettings.setLoadWithOverviewMode(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 调整到适合webview大小&/span&
mSettings.setDefaultZoom(ZoomDensity.FAR);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 屏幕自适应网页,如果没有这个,在低分辨率的手机上显示可能会异常&/span&
mSettings.setRenderPriority(RenderPriority.HIGH);
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//提高网页加载速度,暂时阻塞图片加载,然后网页加载好了,在进行加载图片&/span&
mSettings.setBlockNetworkImage(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);
mSettings.setAppCacheEnabled(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//开启缓存机制&/span&
setWebViewClient(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& MyWebViewClient());
setOnLongClickListener(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&);
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&boolean&/span& &span class=&hljs-title& style=&box-sizing: border-&&onLongClick&/span&(View v) {
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 长按事件监听(注意:需要实现LongClickCallBack接口并传入对象)&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&final&/span& HitTestResult htr = getHitTestResult();&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//获取所点击的内容&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&if&/span& (htr.getType() == WebView.HitTestResult.IMAGE_TYPE) {&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//判断被点击的类型为图片&/span&
mCallBack.onLongClickCallBack(htr.getExtra());
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&return&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&false&/span&;
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&private&/span& &span class=&hljs-class& style=&box-sizing: border-&&&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&class&/span& &span class=&hljs-title& style=&box-sizing: border- color: rgb(102, 0, 102);&&MyWebViewClient&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&extends&/span& &span class=&hljs-title& style=&box-sizing: border- color: rgb(102, 0, 102);&&WebViewClient&/span& {&/span&
&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**
* 加载过程中 拦截加载的地址url
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& view
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& url
被拦截的url
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @return&/span&
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&boolean&/span& &span class=&hljs-title& style=&box-sizing: border-&&shouldOverrideUrlLoading&/span&(WebView view, String url) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&return&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&super&/span&.shouldOverrideUrlLoading(view, url);
&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**
* 页面加载过程中,加载资源回调的方法
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& view
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& url
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&onLoadResource&/span&(WebView view, String url) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&super&/span&.onLoadResource(view, url);
&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**
* 页面加载完成回调的方法
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& view
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& url
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&onPageFinished&/span&(WebView view, String url) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&super&/span&.onPageFinished(view, url);
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 关闭图片加载阻塞&/span&
view.getSettings().setBlockNetworkImage(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&false&/span&);
&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**
* 页面开始加载调用的方法
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& view
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& url
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& favicon
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&onPageStarted&/span&(WebView view, String url, Bitmap favicon) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&super&/span&.onPageStarted(view, url, favicon);
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&onReceivedError&/span&(WebView view, &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&int&/span& errorCode,
String description, String failingUrl) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&super&/span&.onReceivedError(view, errorCode, description, failingUrl);
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&onScaleChanged&/span&(WebView view, &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&float&/span& oldScale, &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&float&/span& newScale) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&super&/span&.onScaleChanged(view, oldScale, newScale);
CustomWebView.&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&.requestFocus();
CustomWebView.&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&.requestFocusFromTouch();
&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**
* 长按事件回调接口,传递图片地址
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @author&/span& LinZhang
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-class& style=&box-sizing: border-&&&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&interface&/span& &span class=&hljs-title& style=&box-sizing: border- color: rgb(102, 0, 102);&&LongClickCallBack&/span&{&/span&
&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**用于传递图片地址*/&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& onLongClickCallBack(String imgUrl);
&/code&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&li style=&box-sizing: border- padding: 0px 5&&11&/li&&li style=&box-sizing: border- padding: 0px 5&&12&/li&&li style=&box-sizing: border- padding: 0px 5&&13&/li&&li style=&box-sizing: border- padding: 0px 5&&14&/li&&li style=&box-sizing: border- padding: 0px 5&&15&/li&&li style=&box-sizing: border- padding: 0px 5&&16&/li&&li style=&box-sizing: border- padding: 0px 5&&17&/li&&li style=&box-sizing: border- padding: 0px 5&&18&/li&&li style=&box-sizing: border- padding: 0px 5&&19&/li&&li style=&box-sizing: border- padding: 0px 5&&20&/li&&li style=&box-sizing: border- padding: 0px 5&&21&/li&&li style=&box-sizing: border- padding: 0px 5&&22&/li&&li style=&box-sizing: border- padding: 0px 5&&23&/li&&li style=&box-sizing: border- padding: 0px 5&&24&/li&&li style=&box-sizing: border- padding: 0px 5&&25&/li&&li style=&box-sizing: border- padding: 0px 5&&26&/li&&li style=&box-sizing: border- padding: 0px 5&&27&/li&&li style=&box-sizing: border- padding: 0px 5&&28&/li&&li style=&box-sizing: border- padding: 0px 5&&29&/li&&li style=&box-sizing: border- padding: 0px 5&&30&/li&&li style=&box-sizing: border- padding: 0px 5&&31&/li&&li style=&box-sizing: border- padding: 0px 5&&32&/li&&li style=&box-sizing: border- padding: 0px 5&&33&/li&&li style=&box-sizing: border- padding: 0px 5&&34&/li&&li style=&box-sizing: border- padding: 0px 5&&35&/li&&li style=&box-sizing: border- padding: 0px 5&&36&/li&&li style=&box-sizing: border- padding: 0px 5&&37&/li&&li style=&box-sizing: border- padding: 0px 5&&38&/li&&li style=&box-sizing: border- padding: 0px 5&&39&/li&&li style=&box-sizing: border- padding: 0px 5&&40&/li&&li style=&box-sizing: border- padding: 0px 5&&41&/li&&li style=&box-sizing: border- padding: 0px 5&&42&/li&&li style=&box-sizing: border- padding: 0px 5&&43&/li&&li style=&box-sizing: border- padding: 0px 5&&44&/li&&li style=&box-sizing: border- padding: 0px 5&&45&/li&&li style=&box-sizing: border- padding: 0px 5&&46&/li&&li style=&box-sizing: border- padding: 0px 5&&47&/li&&li style=&box-sizing: border- padding: 0px 5&&48&/li&&li style=&box-sizing: border- padding: 0px 5&&49&/li&&li style=&box-sizing: border- padding: 0px 5&&50&/li&&li style=&box-sizing: border- padding: 0px 5&&51&/li&&li style=&box-sizing: border- padding: 0px 5&&52&/li&&li style=&box-sizing: border- padding: 0px 5&&53&/li&&li style=&box-sizing: border- padding: 0px 5&&54&/li&&li style=&box-sizing: border- padding: 0px 5&&55&/li&&li style=&box-sizing: border- padding: 0px 5&&56&/li&&li style=&box-sizing: border- padding: 0px 5&&57&/li&&li style=&box-sizing: border- padding: 0px 5&&58&/li&&li style=&box-sizing: border- padding: 0px 5&&59&/li&&li style=&box-sizing: border- padding: 0px 5&&60&/li&&li style=&box-sizing: border- padding: 0px 5&&61&/li&&li style=&box-sizing: border- padding: 0px 5&&62&/li&&li style=&box-sizing: border- padding: 0px 5&&63&/li&&li style=&box-sizing: border- padding: 0px 5&&64&/li&&li style=&box-sizing: border- padding: 0px 5&&65&/li&&li style=&box-sizing: border- padding: 0px 5&&66&/li&&li style=&box-sizing: border- padding: 0px 5&&67&/li&&li style=&box-sizing: border- padding: 0px 5&&68&/li&&li style=&box-sizing: border- padding: 0px 5&&69&/li&&li style=&box-sizing: border- padding: 0px 5&&70&/li&&li style=&box-sizing: border- padding: 0px 5&&71&/li&&li style=&box-sizing: border- padding: 0px 5&&72&/li&&li style=&box-sizing: border- padding: 0px 5&&73&/li&&li style=&box-sizing: border- padding: 0px 5&&74&/li&&li style=&box-sizing: border- padding: 0px 5&&75&/li&&li style=&box-sizing: border- padding: 0px 5&&76&/li&&li style=&box-sizing: border- padding: 0px 5&&77&/li&&li style=&box-sizing: border- padding: 0px 5&&78&/li&&li style=&box-sizing: border- padding: 0px 5&&79&/li&&li style=&box-sizing: border- padding: 0px 5&&80&/li&&li style=&box-sizing: border- padding: 0px 5&&81&/li&&li style=&box-sizing: border- padding: 0px 5&&82&/li&&li style=&box-sizing: border- padding: 0px 5&&83&/li&&li style=&box-sizing: border- padding: 0px 5&&84&/li&&li style=&box-sizing: border- padding: 0px 5&&85&/li&&li style=&box-sizing: border- padding: 0px 5&&86&/li&&li style=&box-sizing: border- padding: 0px 5&&87&/li&&li style=&box-sizing: border- padding: 0px 5&&88&/li&&li style=&box-sizing: border- padding: 0px 5&&89&/li&&li style=&box-sizing: border- padding: 0px 5&&90&/li&&li style=&box-sizing: border- padding: 0px 5&&91&/li&&li style=&box-sizing: border- padding: 0px 5&&92&/li&&li style=&box-sizing: border- padding: 0px 5&&93&/li&&li style=&box-sizing: border- padding: 0px 5&&94&/li&&li style=&box-sizing: border- padding: 0px 5&&95&/li&&li style=&box-sizing: border- padding: 0px 5&&96&/li&&li style=&box-sizing: border- padding: 0px 5&&97&/li&&li style=&box-sizing: border- padding: 0px 5&&98&/li&&li style=&box-sizing: border- padding: 0px 5&&99&/li&&li style=&box-sizing: border- padding: 0px 5&&100&/li&&li style=&box-sizing: border- padding: 0px 5&&101&/li&&li style=&box-sizing: border- padding: 0px 5&&102&/li&&li style=&box-sizing: border- padding: 0px 5&&103&/li&&li style=&box-sizing: border- padding: 0px 5&&104&/li&&li style=&box-sizing: border- padding: 0px 5&&105&/li&&li style=&box-sizing: border- padding: 0px 5&&106&/li&&li style=&box-sizing: border- padding: 0px 5&&107&/li&&li style=&box-sizing: border- padding: 0px 5&&108&/li&&li style=&box-sizing: border- padding: 0px 5&&109&/li&&li style=&box-sizing: border- padding: 0px 5&&110&/li&&li style=&box-sizing: border- padding: 0px 5&&111&/li&&li style=&box-sizing: border- padding: 0px 5&&112&/li&&li style=&box-sizing: border- padding: 0px 5&&113&/li&&li style=&box-sizing: border- padding: 0px 5&&114&/li&&li style=&box-sizing: border- padding: 0px 5&&115&/li&&li style=&box-sizing: border- padding: 0px 5&&116&/li&&li style=&box-sizing: border- padding: 0px 5&&117&/li&&li style=&box-sizing: border- padding: 0px 5&&118&/li&&/ul&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&li style=&box-sizing: border- padding: 0px 5&&11&/li&&li style=&box-sizing: border- padding: 0px 5&&12&/li&&li style=&box-sizing: border- padding: 0px 5&&13&/li&&li style=&box-sizing: border- padding: 0px 5&&14&/li&&li style=&box-sizing: border- padding: 0px 5&&15&/li&&li style=&box-sizing: border- padding: 0px 5&&16&/li&&li style=&box-sizing: border- padding: 0px 5&&17&/li&&li style=&box-sizing: border- padding: 0px 5&&18&/li&&li style=&box-sizing: border- padding: 0px 5&&19&/li&&li style=&box-sizing: border- padding: 0px 5&&20&/li&&li style=&box-sizing: border- padding: 0px 5&&21&/li&&li style=&box-sizing: border- padding: 0px 5&&22&/li&&li style=&box-sizing: border- padding: 0px 5&&23&/li&&li style=&box-sizing: border- padding: 0px 5&&24&/li&&li style=&box-sizing: border- padding: 0px 5&&25&/li&&li style=&box-sizing: border- padding: 0px 5&&26&/li&&li style=&box-sizing: border- padding: 0px 5&&27&/li&&li style=&box-sizing: border- padding: 0px 5&&28&/li&&li style=&box-sizing: border- padding: 0px 5&&29&/li&&li style=&box-sizing: border- padding: 0px 5&&30&/li&&li style=&box-sizing: border- padding: 0px 5&&31&/li&&li style=&box-sizing: border- padding: 0px 5&&32&/li&&li style=&box-sizing: border- padding: 0px 5&&33&/li&&li style=&box-sizing: border- padding: 0px 5&&34&/li&&li style=&box-sizing: border- padding: 0px 5&&35&/li&&li style=&box-sizing: border- padding: 0px 5&&36&/li&&li style=&box-sizing: border- padding: 0px 5&&37&/li&&li style=&box-sizing: border- padding: 0px 5&&38&/li&&li style=&box-sizing: border- padding: 0px 5&&39&/li&&li style=&box-sizing: border- padding: 0px 5&&40&/li&&li style=&box-sizing: border- padding: 0px 5&&41&/li&&li style=&box-sizing: border- padding: 0px 5&&42&/li&&li style=&box-sizing: border- padding: 0px 5&&43&/li&&li style=&box-sizing: border- padding: 0px 5&&44&/li&&li style=&box-sizing: border- padding: 0px 5&&45&/li&&li style=&box-sizing: border- padding: 0px 5&&46&/li&&li style=&box-sizing: border- padding: 0px 5&&47&/li&&li style=&box-sizing: border- padding: 0px 5&&48&/li&&li style=&box-sizing: border- padding: 0px 5&&49&/li&&li style=&box-sizing: border- padding: 0px 5&&50&/li&&li style=&box-sizing: border- padding: 0px 5&&51&/li&&li style=&box-sizing: border- padding: 0px 5&&52&/li&&li style=&box-sizing: border- padding: 0px 5&&53&/li&&li style=&box-sizing: border- padding: 0px 5&&54&/li&&li style=&box-sizing: border- padding: 0px 5&&55&/li&&li style=&box-sizing: border- padding: 0px 5&&56&/li&&li style=&box-sizing: border- padding: 0px 5&&57&/li&&li style=&box-sizing: border- padding: 0px 5&&58&/li&&li style=&box-sizing: border- padding: 0px 5&&59&/li&&li style=&box-sizing: border- padding: 0px 5&&60&/li&&li style=&box-sizing: border- padding: 0px 5&&61&/li&&li style=&box-sizing: border- padding: 0px 5&&62&/li&&li style=&box-sizing: border- padding: 0px 5&&63&/li&&li style=&box-sizing: border- padding: 0px 5&&64&/li&&li style=&box-sizing: border- padding: 0px 5&&65&/li&&li style=&box-sizing: border- padding: 0px 5&&66&/li&&li style=&box-sizing: border- padding: 0px 5&&67&/li&&li style=&box-sizing: border- padding: 0px 5&&68&/li&&li style=&box-sizing: border- padding: 0px 5&&69&/li&&li style=&box-sizing: border- padding: 0px 5&&70&/li&&li style=&box-sizing: border- padding: 0px 5&&71&/li&&li style=&box-sizing: border- padding: 0px 5&&72&/li&&li style=&box-sizing: border- padding: 0px 5&&73&/li&&li style=&box-sizing: border- padding: 0px 5&&74&/li&&li style=&box-sizing: border- padding: 0px 5&&75&/li&&li style=&box-sizing: border- padding: 0px 5&&76&/li&&li style=&box-sizing: border- padding: 0px 5&&77&/li&&li style=&box-sizing: border- padding: 0px 5&&78&/li&&li style=&box-sizing: border- padding: 0px 5&&79&/li&&li style=&box-sizing: border- padding: 0px 5&&80&/li&&li style=&box-sizing: border- padding: 0px 5&&81&/li&&li style=&box-sizing: border- padding: 0px 5&&82&/li&&li style=&box-sizing: border- padding: 0px 5&&83&/li&&li style=&box-sizing: border- padding: 0px 5&&84&/li&&li style=&box-sizing: border- padding: 0px 5&&85&/li&&li style=&box-sizing: border- padding: 0px 5&&86&/li&&li style=&box-sizing: border- padding: 0px 5&&87&/li&&li style=&box-sizing: border- padding: 0px 5&&88&/li&&li style=&box-sizing: border- padding: 0px 5&&89&/li&&li style=&box-sizing: border- padding: 0px 5&&90&/li&&li style=&box-sizing: border- padding: 0px 5&&91&/li&&li style=&box-sizing: border- padding: 0px 5&&92&/li&&li style=&box-sizing: border- padding: 0px 5&&93&/li&&li style=&box-sizing: border- padding: 0px 5&&94&/li&&li style=&box-sizing: border- padding: 0px 5&&95&/li&&li style=&box-sizing: border- padding: 0px 5&&96&/li&&li style=&box-sizing: border- padding: 0px 5&&97&/li&&li style=&box-sizing: border- padding: 0px 5&&98&/li&&li style=&box-sizing: border- padding: 0px 5&&99&/li&&li style=&box-sizing: border- padding: 0px 5&&100&/li&&li style=&box-sizing: border- padding: 0px 5&&101&/li&&li style=&box-sizing: border- padding: 0px 5&&102&/li&&li style=&box-sizing: border- padding: 0px 5&&103&/li&&li style=&box-sizing: border- padding: 0px 5&&104&/li&&li style=&box-sizing: border- padding: 0px 5&&105&/li&&li style=&box-sizing: border- padding: 0px 5&&106&/li&&li style=&box-sizing: border- padding: 0px 5&&107&/li&&li style=&box-sizing: border- padding: 0px 5&&108&/li&&li style=&box-sizing: border- padding: 0px 5&&109&/li&&li style=&box-sizing: border- padding: 0px 5&&110&/li&&li style=&box-sizing: border- padding: 0px 5&&111&/li&&li style=&box-sizing: border- padding: 0px 5&&112&/li&&li style=&box-sizing: border- padding: 0px 5&&113&/li&&li style=&box-sizing: border- padding: 0px 5&&114&/li&&li style=&box-sizing: border- padding: 0px 5&&115&/li&&li style=&box-sizing: border- padding: 0px 5&&116&/li&&li style=&box-sizing: border- padding: 0px 5&&117&/li&&li style=&box-sizing: border- padding: 0px 5&&118&/li&&/ul&
从上面代码中我们可以看出HitTestResult htr = getHitTestResult()获取所点击的内容,然后用回调接口把识别的路径返回。&
接下来就是加载webView:
&code class=&hljs cs has-numbering& style=&display: padding: 0 color: box-sizing: border- font-family: 'Source Code Pro',font-size: white-space: border-radius: 0 word-wrap: background:&&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&private&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&initWebView&/span&() {
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 初始WebView化控件&/span&
mCustomWebView = &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& CustomWebView(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&, &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&);
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//这里借用翔哥的博客&/span&
mCustomWebView.loadUrl(&span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&&http://blog.csdn.net/lmj/article/details/&&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//加载页面&/span&
mCustomWebView.setFocusable(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);
mCustomWebView.setFocusableInTouchMode(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&true&/span&);
LayoutParams lp= &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
addContentView(mCustomWebView, lp);
}&/code&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&/ul&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&/ul&
第四步:把图片下载到本地,并且用微信校验是否是二维码
&code class=&hljs java has-numbering& style=&display: padding: 0 color: box-sizing: border- font-family: 'Source Code Pro',font-size: white-space: border-radius: 0 word-wrap: background:&&&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**
* 根据地址获取网络图片
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @param&/span& sUrl 图片地址
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @return&/span&
*&span class=&hljs-javadoctag& style=&color: rgb(102, 0, 102); box-sizing: border-&& @throws&/span& IOException
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span&
Bitmap &span class=&hljs-title& style=&box-sizing: border-&&getBitmap&/span&(String sUrl){
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&try&/span& {
URL url = &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& URL(sUrl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setConnectTimeout(&span class=&hljs-number& style=&color: rgb(0, 102, 102); box-sizing: border-&&5000&/span&);
conn.setRequestMethod(&span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&&GET&&/span&);
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&if&/span&(conn.getResponseCode() == &span class=&hljs-number& style=&color: rgb(0, 102, 102); box-sizing: border-&&200&/span&){
InputStream inputStream = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
saveMyBitmap(bitmap,&span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&&code&&/span&);&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//先把bitmap生成jpg图片&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&return&/span&
} &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&catch&/span& (Exception e) {
e.printStackTrace();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&return&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&null&/span&;
}&/code&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&li style=&box-sizing: border- padding: 0px 5&&11&/li&&li style=&box-sizing: border- padding: 0px 5&&12&/li&&li style=&box-sizing: border- padding: 0px 5&&13&/li&&li style=&box-sizing: border- padding: 0px 5&&14&/li&&li style=&box-sizing: border- padding: 0px 5&&15&/li&&li style=&box-sizing: border- padding: 0px 5&&16&/li&&li style=&box-sizing: border- padding: 0px 5&&17&/li&&li style=&box-sizing: border- padding: 0px 5&&18&/li&&li style=&box-sizing: border- padding: 0px 5&&19&/li&&li style=&box-sizing: border- padding: 0px 5&&20&/li&&li style=&box-sizing: border- padding: 0px 5&&21&/li&&li style=&box-sizing: border- padding: 0px 5&&22&/li&&li style=&box-sizing: border- padding: 0px 5&&23&/li&&/ul&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&li style=&box-sizing: border- padding: 0px 5&&11&/li&&li style=&box-sizing: border- padding: 0px 5&&12&/li&&li style=&box-sizing: border- padding: 0px 5&&13&/li&&li style=&box-sizing: border- padding: 0px 5&&14&/li&&li style=&box-sizing: border- padding: 0px 5&&15&/li&&li style=&box-sizing: border- padding: 0px 5&&16&/li&&li style=&box-sizing: border- padding: 0px 5&&17&/li&&li style=&box-sizing: border- padding: 0px 5&&18&/li&&li style=&box-sizing: border- padding: 0px 5&&19&/li&&li style=&box-sizing: border- padding: 0px 5&&20&/li&&li style=&box-sizing: border- padding: 0px 5&&21&/li&&li style=&box-sizing: border- padding: 0px 5&&22&/li&&li style=&box-sizing: border- padding: 0px 5&&23&/li&&/ul&
接下来我们就来校验是否是二维码图片:
&code class=&hljs cs has-numbering& style=&display: padding: 0 color: box-sizing: border- font-family: 'Source Code Pro',font-size: white-space: border-radius: 0 word-wrap: background:&&&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&static&/span& Result &span class=&hljs-title& style=&box-sizing: border-&&handleQRCodeFormBitmap&/span&(Bitmap bitmap) {
Hashtable&DecodeHintType, String& hints = &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& Hashtable&DecodeHintType,String&();
hints.put(DecodeHintType.CHARACTER_SET, &span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&&utf-8&&/span&);
RGBLuminanceSource source =&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& RGBLuminanceSource(bitmap);
BinaryBitmap bitmap1 = &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& BinaryBitmap(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& HybridBinarizer(source));
QRCodeReader reader2= &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& QRCodeReader();
Result result = &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&null&/span&;
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&try&/span& {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&try&/span& {
result = reader2.decode(bitmap1,hints);
} &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&catch&/span& (ChecksumException e) {
e.printStackTrace();
} &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&catch&/span& (FormatException e) {
e.printStackTrace();
} &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&catch&/span& (NotFoundException e) {
e.printStackTrace();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&return&/span&
&/code&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&li style=&box-sizing: border- padding: 0px 5&&11&/li&&li style=&box-sizing: border- padding: 0px 5&&12&/li&&li style=&box-sizing: border- padding: 0px 5&&13&/li&&li style=&box-sizing: border- padding: 0px 5&&14&/li&&li style=&box-sizing: border- padding: 0px 5&&15&/li&&li style=&box-sizing: border- padding: 0px 5&&16&/li&&li style=&box-sizing: border- padding: 0px 5&&17&/li&&li style=&box-sizing: border- padding: 0px 5&&18&/li&&li style=&box-sizing: border- padding: 0px 5&&19&/li&&li style=&box-sizing: border- padding: 0px 5&&20&/li&&li style=&box-sizing: border- padding: 0px 5&&21&/li&&li style=&box-sizing: border- padding: 0px 5&&22&/li&&/ul&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&&1&/li&&li style=&box-sizing: border- padding: 0px 5&&2&/li&&li style=&box-sizing: border- padding: 0px 5&&3&/li&&li style=&box-sizing: border- padding: 0px 5&&4&/li&&li style=&box-sizing: border- padding: 0px 5&&5&/li&&li style=&box-sizing: border- padding: 0px 5&&6&/li&&li style=&box-sizing: border- padding: 0px 5&&7&/li&&li style=&box-sizing: border- padding: 0px 5&&8&/li&&li style=&box-sizing: border- padding: 0px 5&&9&/li&&li style=&box-sizing: border- padding: 0px 5&&10&/li&&li style=&box-sizing: border- padding: 0px 5&&11&/li&&li style=&box-sizing: border- padding: 0px 5&&12&/li&&li style=&box-sizing: border- padding: 0px 5&&13&/li&&li style=&box-sizing: border- padding: 0px 5&&14&/li&&li style=&box-sizing: border- padding: 0px 5&&15&/li&&li style=&box-sizing: border- padding: 0px 5&&16&/li&&li style=&box-sizing: border- padding: 0px 5&&17&/li&&li style=&box-sizing: border- padding: 0px 5&&18&/li&&li style=&box-sizing: border- padding: 0px 5&&19&/li&&li style=&box-sizing: border- padding: 0px 5&&20&/li&&li style=&box-sizing: border- padding: 0px 5&&21&/li&&li style=&box-sizing: border- padding: 0px 5&&22&/li&&/ul&
DecodeImage.handleQRCodeFormBitmap(getBitmap(sUrl));//返回二维码的结果&
该做的都做好了
第五步:根据返回结果动态显示dialog是否要识别图中二维码
&code class=&hljs java has-numbering& style=&display: padding: 0 color: box-sizing: border- font-family: 'Source Code Pro',font-size: white-space: border-radius: 0 word-wrap: background:&&&span class=&hljs-javadoc& style=&color: rgb(136, 0, 0); box-sizing: border-&&/**
* 显示Dialog
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&private&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span&
&span class=&hljs-title& style=&box-sizing: border-&&showDialog&/span&() {
initAdapter();
mCustomDialog = &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& CustomDialog(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&) {
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&initViews&/span&() {
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 初始CustomDialog化控件&/span&
ListView mListView = (ListView) findViewById(R.id.lv_dialog);
mListView.setAdapter(adapter);
mListView.setOnItemClickListener(&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&new&/span& OnItemClickListener() {
&span class=&hljs-annotation& style=&color: rgb(155, 133, 157); box-sizing: border-&&@Override&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&public&/span& &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&void&/span& &span class=&hljs-title& style=&box-sizing: border-&&onItemClick&/span&(AdapterView&?& parent, View view, &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&int&/span& position, &span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&long&/span& id) {
&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&// 点击事件&/span&
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&switch&/span& (position) {
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&case&/span& &span class=&hljs-number& style=&color: rgb(0, 102, 102); box-sizing: border-&&0&/span&:
sendToFriends();&span class=&hljs-comment& style=&color: rgb(136, 0, 0); box-sizing: border-&&//把图片发送给好友&/span&
closeDialog();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&break&/span&;
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&case&/span& &span class=&hljs-number& style=&color: rgb(0, 102, 102); box-sizing: border-&&1&/span&:
saveImageToGallery(MainActivity.&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&);
closeDialog();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&break&/span&;
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&case&/span& &span class=&hljs-number& style=&color: rgb(0, 102, 102); box-sizing: border-&&2&/span&:
Toast.makeText(MainActivity.&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&this&/span&, &span class=&hljs-string& style=&color: rgb(0, 136, 0); box-sizing: border-&&&已收藏&&/span&, Toast.LENGTH_LONG).show();
closeDialog();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&break&/span&;
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&case&/span& &span class=&hljs-number& style=&color: rgb(0, 102, 102); box-sizing: border-&&3&/span&:
goIntent();
closeDialog();
&span class=&hljs-keyword& style=&color: rgb(0, 0, 136); box-sizing: border-&&break&/span&;
mCustomDialog.show();
}&/code&&ul class=&pre-numbering& style=&box-sizing: border- position: width: 50 top: 0 left: 0 margin: 0 padding: 6px 0px 40 border-right-width: 1 border-right-style: border-right-color: rgb(221, 221, 221); list-style: text-align: background-color: rgb(238, 238, 238);&&&li style=&box-sizing: border- padding: 0px 5&

我要回帖

更多关于 mk包怎么扫二维码验货短视频 的文章

 

随机推荐