Android實(shí)現(xiàn)掃描二維碼

PS:有的朋友可能會(huì)掃描出現(xiàn)問題冠摄,如果報(bào)異橙的“SecurityException”同時(shí)讀者又確切的把相機(jī)權(quán)限加上去了,這時(shí)候請檢查浙滤,你的設(shè)備是不是6.0阴挣,或者6.0以后,這里面牽扯到一個(gè)動(dòng)態(tài)權(quán)限的問題纺腊。需要增加一段代碼畔咧。在文章里我注釋掉了,打開注釋即可揖膜。
這個(gè)是安卓6.0 以后的需要調(diào)用某些設(shè)備的時(shí)候需要?jiǎng)討B(tài)增加權(quán)限誓沸,是安全問題提升的一個(gè)表現(xiàn)

開發(fā)工具:AS

作為伸手黨,首先感謝開源庫的作者GuoJinyu壹粟,有興趣的可以前去學(xué)習(xí)拜隧,

1.添加依賴

compile 'com.acker:simplezxing:1.2'

2.在需要的地方調(diào)用:(這里需要注意,如果你的設(shè)別API很高,在6.0虹蓄,可能需要?jiǎng)討B(tài)申請權(quán)限)

if (Build.VERSION.SDK_INT >= 23) {
        int checkCallPhonePermission = 
ContextCompat.checkSelfPermission(ZXingActivity.this,Manifest.permission.CAMERA);
        if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(ZXingActivity.this, new String[]{Manifest.permission.CAMERA}, 222);
        return;
        } else {
        startCamera();
        }
        } else {
        startCamera();
}

startCamera() 方法如下:

private void startCamera() {
        Intent intent = new Intent(this, CaptureActivity.class);
        Bundle bundle = new Bundle();
        bundle.putBoolean(CaptureActivity.KEY_NEED_BEEP, CaptureActivity.VALUE_BEEP);
        bundle.putBoolean(CaptureActivity.KEY_NEED_VIBRATION, CaptureActivity.VALUE_VIBRATION);
        bundle.putBoolean(CaptureActivity.KEY_NEED_EXPOSURE, CaptureActivity.VALUE_NO_EXPOSURE);
        bundle.putByte(CaptureActivity.KEY_FLASHLIGHT_MODE, CaptureActivity.VALUE_FLASHLIGHT_OFF);
        bundle.putByte(CaptureActivity.KEY_ORIENTATION_MODE, CaptureActivity.VALUE_ORIENTATION_AUTO);
        intent.putExtra(CaptureActivity.EXTRA_SETTING_BUNDLE, bundle);
        startActivityForResult(intent, CaptureActivity.REQ_CODE);
    }

3.重寫onActivityResult:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        String scanInfo;
        switch (requestCode) {
            case CaptureActivity.REQ_CODE:
                scanInfo = data.getStringExtra(CaptureActivity.EXTRA_SCAN_RESULT);
                switch (resultCode) {
                    case RESULT_OK:
                        Log.d(TAG,scanInfo);  //or do sth
                        mTextView.setText(scanInfo);
                        break;
                    case RESULT_CANCELED:
                        if (data != null) {
                            // for some reason camera is not working correctly
                            Log.d(TAG,data.getStringExtra(CaptureActivity.EXTRA_SCAN_RESULT));
                        }
                        break;
                }
                break;
        }
    }

對"第3步"onActivityResult 方法中 data 解釋:

data.getStringExtra(CaptureActivity.EXTRA_SCAN_RESULT); //這行用來接收二維碼信息

startCaptureActivityForResult()方法的配置信息在bundle參數(shù)描述的很詳細(xì)犀呼,可以參閱

最后別忘了權(quán)限問題

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市薇组,隨后出現(xiàn)的幾起案子外臂,更是在濱河造成了極大的恐慌,老刑警劉巖律胀,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宋光,死亡現(xiàn)場離奇詭異,居然都是意外死亡炭菌,警方通過查閱死者的電腦和手機(jī)罪佳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來黑低,“玉大人赘艳,你說我怎么就攤上這事】宋眨” “怎么了蕾管?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵,是天一觀的道長菩暗。 經(jīng)常有香客問我掰曾,道長,這世上最難降的妖魔是什么停团? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任旷坦,我火速辦了婚禮,結(jié)果婚禮上佑稠,老公的妹妹穿的比我還像新娘秒梅。我一直安慰自己,他們只是感情好讶坯,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布番电。 她就那樣靜靜地躺著,像睡著了一般辆琅。 火紅的嫁衣襯著肌膚如雪漱办。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天婉烟,我揣著相機(jī)與錄音娩井,去河邊找鬼。 笑死似袁,一個(gè)胖子當(dāng)著我的面吹牛洞辣,可吹牛的內(nèi)容都是我干的咐刨。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼扬霜,長吁一口氣:“原來是場噩夢啊……” “哼定鸟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起著瓶,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤联予,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后材原,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沸久,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年余蟹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卷胯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡威酒,死狀恐怖窑睁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情兼搏,我是刑警寧澤卵慰,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站佛呻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏病线。R本人自食惡果不足惜吓著,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望送挑。 院中可真熱鬧绑莺,春花似錦、人聲如沸惕耕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽司澎。三九已至欺缘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挤安,已是汗流浹背谚殊。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛤铜,地道東北人嫩絮。 一個(gè)月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓丛肢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親剿干。 傳聞我的和親對象是個(gè)殘疾皇子蜂怎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,341評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)置尔,斷路器杠步,智...
    卡卡羅2017閱讀 134,720評論 18 139
  • 二維碼掃描最近兩年簡直是風(fēng)靡移動(dòng)互聯(lián)網(wǎng)時(shí)代,尤其在國內(nèi)發(fā)展神速撰洗。圍繞條碼掃碼功能篮愉,首先說說通過本文你可以知道啥。一...
    55book閱讀 4,157評論 0 1
  • 相隔八年差导,她再與他相遇试躏,他仍然是游走于上流社會(huì)與女人之間的作家,她從當(dāng)年青澀的女大學(xué)生蛻變成一個(gè)極富魅力的貴婦人设褐,...
    清風(fēng)隨閱讀 440評論 0 2
  • 坐火車助析,乘汽車犀被,一路顛顛簸簸的終于來到了鄉(xiāng)下。 回到外婆家外冀,外婆正在掰玉米喂雞寡键,一見我來便拉著...
    風(fēng)雪虛城閱讀 920評論 8 24