1. 程式人生 > >Android高仿微信/支付寶 掃一掃(弱光檢測掃一掃自動放大功能)

Android高仿微信/支付寶 掃一掃(弱光檢測掃一掃自動放大功能)

if (rawResult != null) {
            // Don't log the barcode contents for security.
            long end = System.currentTimeMillis();
            Log.d(TAG, "Found barcode in " + (end - start) + " ms");
            if (handler != null) {
                float point1X = rawResult.getResultPoints()[0].getX();
                float point1Y = rawResult.getResultPoints()[0].getY();
                float point2X = rawResult.getResultPoints()[1].getX();
                float point2Y = rawResult.getResultPoints()[1].getY();
                int len = (int) Math.sqrt(Math.abs(point1X - point2X) * Math.abs(point1X - point2X) + Math.abs(point1Y - point2Y) * Math.abs(point1Y - point2Y));
                if (frameRect != null) {
                    int frameWidth = frameRect.right - frameRect.left;
                    Camera camera = activity.getCameraManager().getCameraNotStatic();
                    Camera.Parameters parameters = camera.getParameters();
                    final int maxZoom = parameters.getMaxZoom();
                    int zoom = parameters.getZoom();
                    if (parameters.isZoomSupported()) {
                        if (len <= frameWidth / 4) {
                            if (zoom == 0) {
                                zoom = maxZoom / 3;
                            } else {
                                zoom = zoom + 10;
                            }
                            if (zoom > maxZoom) {
                                zoom = maxZoom;
                            }
                            parameters.setZoom(zoom);
                            camera.setParameters(parameters);
                            final Result finalRawResult = rawResult;
                            postDelayed(new Runnable() {
                                @Override
                                public void run() {
                                    Message message = Message.obtain(handler, R.id.decode_succeeded, finalRawResult);
                                    Bundle bundle = new Bundle();
                                    bundle.putParcelable(DecodeThread.BARCODE_BITMAP, source.renderCroppedGreyscaleBitmap());
                                    message.setData(bundle);
                                    message.sendToTarget();
                                }
                            }, 1000);

                        } else {
                            Message message = Message.obtain(handler, R.id.decode_succeeded, rawResult);
                            Bundle bundle = new Bundle();
                            bundle.putParcelable(DecodeThread.BARCODE_BITMAP, source.renderCroppedGreyscaleBitmap());
                            message.setData(bundle);
                            message.sendToTarget();
                        }
                    }
                } else {
                    Message message = Message.obtain(handler, R.id.decode_succeeded, rawResult);
                    Bundle bundle = new Bundle();
                    bundle.putParcelable(DecodeThread.BARCODE_BITMAP, source.renderCroppedGreyscaleBitmap());
                    message.setData(bundle);
                    message.sendToTarget();
                }
            }
        } else {
            if (handler != null) {
                Message message = Message.obtain(handler, R.id.decode_failed);
                message.sendToTarget();
//                if (!Constants.isWeakLight) {
//                    long failedTimeStamp = System.currentTimeMillis();
//                    if (failedTimeStamp - intervalTime > INTERVAL) {
//                        isResetTime = true;
//                        intervalTime = System.currentTimeMillis();
//                        Camera camera = activity.getCameraManager().getCameraNotStatic();
//                        Camera.Parameters parameters = camera.getParameters();
//                        final int maxZoom = parameters.getMaxZoom();
//                        int zoom = parameters.getZoom();
//                        if (parameters.isZoomSupported()) {
//                            if (zoom == 0) {
//                                zoom = maxZoom / 2;
//                            } else {
//                                zoom = zoom + 10;
//                            }
//                            if (zoom > maxZoom) {
//                                zoom = maxZoom;
//                            }
//                            parameters.setZoom(zoom);
//                            camera.setParameters(parameters);
//                        }
//                    }
//                }
            }
        }


相關推薦

Android仿/支付 檢測自動放大功能

if (rawResult != null) { // Don't log the barcode contents for security. long end = System.currentTimeMillis(); Log.d(T

Android 仿/支付的密碼輸入框效果()

前言: 最近專案中碰到了一個像支付寶跟微信一樣的輸入密碼自動驗證的一個需求,因為之前在外包待過,所以你懂的!!用過太多封裝好的控制元件了,都是略過,能實現功能就可以了,也都不管其實現過程,現在靜下心了,於是打算研究研究。 先上一張類似需求的圖片: 說明一

android仿表情輸入與鍵盤輸入詳解-解決跳閃與表情切換問題

private void unlockContentHeightDelayed() { mEditText.postDelayed(new Runnable() { @Override public void run() { ((LinearLa

android仿圖片瀏覽器

專案中用到圖片瀏覽 拆分出來 以後方便使用 高仿微信圖片瀏覽器 module使用 rxjava + okhttp3 + fresco 所以專案中引用以後 會增大安裝包體積2m左右 如果你的專案中沒有使用rxjava 和 okhttp3 和fresco

Android 仿發朋友圈瀏覽圖片效果

最近一直在高仿微信、高仿微信,今天小編再給大家分享一個仿微信發朋友圈瀏覽圖片的效果.... 好了,先看一下效果吧: 下面就來說一下具體怎麼實現的: 實現思路 1.首先我們要獲取資料來源,資料來源就是我們的每條說說(包括姓名、標題、圖片陣列)

Android 仿頭像擷取 打造不一樣的自定義控制元件

轉載請表明出處:http://blog.csdn.net/lmj623565791/article/details/39761281,本文出自:【張鴻洋的部落格】1、概述前面已經寫了關於檢測手勢識別的文章,如果不瞭解可以參考:Android 手勢檢測實戰 打造支援縮放平移的圖

android仿佈局

前言 這期我們講講怎麼實現微信的左右滑動的效果和底部的tabs欄 廢話不多說,開工吧! 首先我們先看看總體佈局是怎麼寫的。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout

支付二維碼支付代理加盟 采二維碼碼POS

微信支付代理 支付寶代理商 智能POS代理 現如今微信支付寶二維碼支付代理以及進入了支付潮流。如:銀幣、再到紙幣,演變到“錢”變得越來越輕薄。在現這個二維碼掃碼POS市場中,互聯網技術的支撐下,刷手機乘公交、刷支付寶買菜購物、繳水電費……日常生活中使用“現金”的場景,逐漸被手機各種支付方式取代,“無現金

Android-通過SlidingMenu仿6.2最新版手勢滑動返回(二)

word 代碼下載 extend ride 方法 最新版 roi library fin 轉載請標明出處: http://blog.csdn.net/hanhailong726188/article/details/46453627 本

Android 修改源碼自定義SwipeRefreshLayout樣式——仿朋友圈下拉刷新

樣式 post and 微信 修改 size roi 自定義 details 修改源碼自定義SwipeRefreshLayout樣式——高仿微信朋友圈下拉刷新Android 修改源碼自定義SwipeRefreshLayout樣式——高仿微信朋友圈下拉

神了!這個接口用上,普通商家的支付QQ百度京東都可以

支付接口 微信支付接口 支付寶接口 杭州采寶支付 隨著移動支付的不斷發展,微信支付和支付寶支付已經占領了中國大部分市場,我們在各大商鋪和賣場都能看到微信掃碼支付、支付寶掃碼支付,對於顧客來講非常方便,不用帶現金,對於商家來講,也是十分便利,省去了找零的麻煩,但商家在接入支付寶和微信支付時,需要分別提交申請

關於tp5使用支付app支付支付

<?php /** * Created by PhpStorm. * User: ljy * Date: 17/10/14 * Time: 下午3:33 */ namespace app\api\controller; use Pingpp\Pingpp; use Pingpp\Charge

小程式自定義數字鍵盤|仿支付支付支付密碼鍵盤

微信小程式自定義鍵盤外掛wcKeyboard|仿微信數字軟鍵盤|仿支付寶自定義數字鍵盤|小程式自定義模擬系統鍵盤 前段時間有開發過一個html5仿支付寶、微信支付數字鍵盤,在某些情況下自定義數字鍵盤應用還是蠻多的,比如 購物商城系統 零錢付款 ,會員卡支付,恰好微信小程式沒有內部數字鍵盤元件,這樣輸入密

掃描二維碼研究總結仿,輕鬆實現定製掃描介面

在正文之前說點題外話,加上這篇我已經寫了3篇部落格了,其實我寫部落格的初衷不是想證明自己有多牛,並且我也只是從事安卓開發只有半年時間的小渣,但是不想成為大牛的渣不是好渣,所以我想通過部落格把工作學習中遇到的問題進行研究總結,從而提高自己,與此同時如果能給廣大從事

Android 仿支付密碼輸入框

今天在專案中遇到一個類似微信支付的密碼輸入框的需求,具體的實現要求如下: 因為這樣的一個控制元件主要實現的密碼輸入的功能,這大體上和Edittext相似,但不同於EditText的一點就是該控制元件需要顯示六個密碼框。對於控制元件在展示上不同的問題,毫無疑問,需要通過重

Android 淺談支付+支付支付

       負責的專案中剛做完微信支付和支付寶支付,也跨過幾道坑,略有收穫,記錄一下。        整合第三方嘛,無非去看開發文件,按照步驟一步步的來。都需要後臺來二次簽名,生成預付單各種值什麼的。       1.微信支付:       微信的開發文件寫的還行,app

Android 支付支付,2行程式碼實現支付

作者簡介 微信公眾號(高質量文章推送):走向全棧工程師 作者:陳博易 宣告:本文是個人原創,未經允許請勿轉載 商業合作請在微信公眾號回覆:聯絡方式 前言 現在的多數App都離不開整合阿里支付寶支付和微信支付

Android /支付 h5調原生支付

記錄一下Android的支付h5調原生支付 流程是客戶端通過後臺的介面生成支付訂單,後臺生成訂單後會返回一個h5的支付url import android.content.Context import android.content.Intent import andro

Android UI 之自定義RadarView——仿雷達掃描

最近看了一個視訊講了一種微信雷達掃描的實現方案,借鑑了一下,自己也寫一個玩玩,與大家分享一下。基本想出來三種解決方案,根據不同需求情況選擇即可。 方案一實現思路(通用): 1.自定義view  2.重寫onDraw()方法 3.畫四個無鋸齒空心圓 4.畫以最大圓為半徑的實心漸變圓 5.建立矩陣,旋轉畫布,

Android仿呼叫第三方地圖應用導航德、百度、騰訊

好久沒有寫Andorid程式碼啦!最近剛好要實現一個這個功能,順便就在部落格裡分享一下。 實現目標 先來一張微信功能截圖看看要做什麼 其實就是有一個目的地,點選目的地的時候彈出可選擇的應用進行導航。 大腦動一下,要實現這個功能應該大體分成兩步: