超簡單二維碼接入
阿新 • • 發佈:2019-01-31
我是android studio進行開發,因此此方式為android studio適用
此篇文章為二維碼接入,處理方式很粗暴,好多的細節沒有考慮清楚,為了現階段作為樣品寫入,不需要細節,因此記錄一下,以防忘記
首先放入依賴
compile ‘com.acker:simplezxing:1.5’
這個類CaptureActivity是我們主要使用的類,它可以讓我們實現掃描二維碼的功能,我的實驗手機是android 版本較低的,因此在清單檔案裡進行相機許可權申請就足夠,如果是android 較高的版本,就需要在進行許可權申請,這是申請程式碼,在相片處理上,用原來的裁剪可能出現問題,因此因為android4以上相簿的url就是封裝過的,需要進行處理,現在有點事兒,要原諒我,所以現在就先不寫,我會在後來的部落格上進行闡述
public void openCamraYes(int y) {
if (Build.VERSION.SDK_INT >= 23) {
int checkCallPhonePermission = ContextCompat.checkSelfPermission(OnTheSpotAccreditationFrontActivity.this, Manifest.permission.CAMERA);
if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(OnTheSpotAccreditationFrontActivity.this , new String[]{Manifest.permission.CAMERA}, 222);
return;
} else {
openCamra(y);//呼叫具體方法
}
} else {
openCamra(y);//呼叫具體方法
}
}
這是呼叫掃描功能的程式碼,相當簡單
public static final int REQUEST_CODE = 111;
Intent intent = new Intent(MainActivity.this , CaptureActivity.class);
startActivityForResult(intent,REQUEST_CODE);
startActivityForResult,看到這個是不是就清楚裡,沒錯,我們是在onActivityResult裡邊進行掃描結果處理的,
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (data != null){
startActivity(new Intent(MainActivity.this, QrCodeActivity.class));
}else {
return;
}
}
}
在這裡我僅僅只是進行了跳轉介面,因為現在還沒正式的二維碼需求,所有隻需要做一個展示,需要正式的話,就在上述程式碼裡進行處理掃描結果!