lib -> zxing-lite
This commit is contained in:
@@ -50,5 +50,5 @@ dependencies {
|
|||||||
|
|
||||||
implementation deps.easypermissions
|
implementation deps.easypermissions
|
||||||
|
|
||||||
implementation project(':lib')
|
implementation project(':zxing-lite')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,21 +18,20 @@ package com.king.zxing.app;
|
|||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.util.Log;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.king.zxing.CameraScan;
|
import com.king.zxing.CameraScan;
|
||||||
import com.king.zxing.CaptureActivity;
|
import com.king.zxing.CaptureActivity;
|
||||||
import com.king.zxing.app.util.UriUtils;
|
|
||||||
import com.king.zxing.util.CodeUtils;
|
import com.king.zxing.util.CodeUtils;
|
||||||
import com.king.zxing.util.LogUtils;
|
import com.king.zxing.util.LogUtils;
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
@@ -50,9 +49,9 @@ import pub.devrel.easypermissions.EasyPermissions;
|
|||||||
*
|
*
|
||||||
* 2、通过继承CaptureActivity或者CaptureFragment并自定义布局。(适用于大多场景,并无需关心扫码相关逻辑,自定义布局时需覆写getLayoutId方法)
|
* 2、通过继承CaptureActivity或者CaptureFragment并自定义布局。(适用于大多场景,并无需关心扫码相关逻辑,自定义布局时需覆写getLayoutId方法)
|
||||||
*
|
*
|
||||||
* 3、在你项目的Activity或者Fragment中创建一个CaptureHelper并在相应的生命周期中调用CaptureHelper的周期。(适用于想在扫码界面写交互逻辑,又因为项目架构或其它原因,无法直接或间接继承CaptureActivity或CaptureFragment时使用)
|
* 3、在你项目的Activity或者Fragment中实例化一个CameraScan即可。(适用于想在扫码界面写交互逻辑,又因为项目架构或其它原因,无法直接或间接继承CaptureActivity或CaptureFragment时使用)
|
||||||
*
|
*
|
||||||
* 4、参照CaptureHelper写一个自定义的扫码帮助类,其它步骤同方式3。(扩展高级用法,谨慎使用)
|
* 4、继承CameraScan自己实现一个,可参照默认实现类DefaultCameraScan,其它步骤同方式3。(扩展高级用法,谨慎使用)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class MainActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks{
|
public class MainActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks{
|
||||||
@@ -109,26 +108,28 @@ public class MainActivity extends AppCompatActivity implements EasyPermissions.P
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void parsePhoto(Intent data){
|
private void parsePhoto(Intent data){
|
||||||
final String path = UriUtils.getImagePath(this,data);
|
|
||||||
LogUtils.d("path:" + path);
|
// final String path = UriUtils.getImagePath(this,data);
|
||||||
if(TextUtils.isEmpty(path)){
|
// LogUtils.d("path:" + path);
|
||||||
return;
|
// if(TextUtils.isEmpty(path)){
|
||||||
}
|
// return;
|
||||||
//异步解析
|
// }
|
||||||
asyncThread(new Runnable() {
|
|
||||||
@Override
|
try {
|
||||||
public void run() {
|
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(),data.getData());
|
||||||
final String result = CodeUtils.parseCode(path);
|
//异步解析
|
||||||
runOnUiThread(new Runnable() {
|
asyncThread(() -> {
|
||||||
@Override
|
final String result = CodeUtils.parseCode(bitmap);
|
||||||
public void run() {
|
runOnUiThread(() -> {
|
||||||
Log.d("Jenly","result:" + result);
|
LogUtils.d("result:" + result);
|
||||||
Toast.makeText(getContext(),result,Toast.LENGTH_SHORT).show();
|
Toast.makeText(getContext(),result,Toast.LENGTH_SHORT).show();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
});
|
||||||
});
|
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import android.provider.DocumentsContract;
|
|||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.king.zxing.util.LogUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Jenly <a href="mailto:jenly1314@gmail.com">Jenly</a>
|
* @author Jenly <a href="mailto:jenly1314@gmail.com">Jenly</a>
|
||||||
*/
|
*/
|
||||||
@@ -28,7 +30,7 @@ public final class UriUtils {
|
|||||||
//获取系統版本
|
//获取系統版本
|
||||||
int currentapiVersion = Build.VERSION.SDK_INT;
|
int currentapiVersion = Build.VERSION.SDK_INT;
|
||||||
if(currentapiVersion> Build.VERSION_CODES.KITKAT){
|
if(currentapiVersion> Build.VERSION_CODES.KITKAT){
|
||||||
Log.d("uri=intent.getData :", "" + uri);
|
LogUtils.d("uri=intent.getData :" + uri);
|
||||||
if (DocumentsContract.isDocumentUri(context, uri)) {
|
if (DocumentsContract.isDocumentUri(context, uri)) {
|
||||||
String docId = DocumentsContract.getDocumentId(uri);
|
String docId = DocumentsContract.getDocumentId(uri);
|
||||||
Log.d("getDocumentId(uri) :", "" + docId);
|
Log.d("getDocumentId(uri) :", "" + docId);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
include ':app', ':lib'
|
include ':app', ':zxing-lite'
|
||||||
|
|||||||
0
lib/.gitignore → zxing-lite/.gitignore
vendored
0
lib/.gitignore → zxing-lite/.gitignore
vendored
3
zxing-lite/gradle.properties
Normal file
3
zxing-lite/gradle.properties
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
POM_NAME=ZXingLite
|
||||||
|
POM_ARTIFACT_ID=zxing-lite
|
||||||
|
POM_PACKAGING=aar
|
||||||
@@ -16,6 +16,8 @@ import com.google.zxing.ResultPoint;
|
|||||||
import com.google.zxing.common.detector.MathUtils;
|
import com.google.zxing.common.detector.MathUtils;
|
||||||
import com.king.zxing.analyze.Analyzer;
|
import com.king.zxing.analyze.Analyzer;
|
||||||
import com.king.zxing.analyze.MultiFormatAnalyzer;
|
import com.king.zxing.analyze.MultiFormatAnalyzer;
|
||||||
|
import com.king.zxing.manager.AmbientLightManager;
|
||||||
|
import com.king.zxing.manager.BeepManager;
|
||||||
import com.king.zxing.util.LogUtils;
|
import com.king.zxing.util.LogUtils;
|
||||||
|
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.king.zxing;
|
package com.king.zxing.manager;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2012 ZXing authors
|
* Copyright (C) 2012 ZXing authors
|
||||||
@@ -51,7 +51,7 @@ public class AmbientLightManager implements SensorEventListener {
|
|||||||
|
|
||||||
private OnLightSensorEventListener mOnLightSensorEventListener;
|
private OnLightSensorEventListener mOnLightSensorEventListener;
|
||||||
|
|
||||||
AmbientLightManager(Context context) {
|
public AmbientLightManager(Context context) {
|
||||||
sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
|
sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
|
||||||
lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
|
lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
|
||||||
isLightSensorEnabled = true;
|
isLightSensorEnabled = true;
|
||||||
@@ -83,9 +83,9 @@ public class AmbientLightManager implements SensorEventListener {
|
|||||||
float lightLux = sensorEvent.values[0];
|
float lightLux = sensorEvent.values[0];
|
||||||
mOnLightSensorEventListener.onSensorChanged(lightLux);
|
mOnLightSensorEventListener.onSensorChanged(lightLux);
|
||||||
if (lightLux <= darkLightLux) {
|
if (lightLux <= darkLightLux) {
|
||||||
mOnLightSensorEventListener.onSensorChanged(true,darkLightLux);
|
mOnLightSensorEventListener.onSensorChanged(true,lightLux);
|
||||||
} else if (lightLux >= brightLightLux) {
|
} else if (lightLux >= brightLightLux) {
|
||||||
mOnLightSensorEventListener.onSensorChanged(false,darkLightLux);
|
mOnLightSensorEventListener.onSensorChanged(false,lightLux);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.king.zxing;
|
package com.king.zxing.manager;
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2010 ZXing authors
|
* Copyright (C) 2010 ZXing authors
|
||||||
*
|
*
|
||||||
@@ -22,6 +22,7 @@ import android.media.AudioManager;
|
|||||||
import android.media.MediaPlayer;
|
import android.media.MediaPlayer;
|
||||||
import android.os.Vibrator;
|
import android.os.Vibrator;
|
||||||
|
|
||||||
|
import com.king.zxing.R;
|
||||||
import com.king.zxing.util.LogUtils;
|
import com.king.zxing.util.LogUtils;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
@@ -39,7 +40,7 @@ public final class BeepManager implements MediaPlayer.OnErrorListener, Closeable
|
|||||||
private boolean playBeep;
|
private boolean playBeep;
|
||||||
private boolean vibrate;
|
private boolean vibrate;
|
||||||
|
|
||||||
BeepManager(Context context) {
|
public BeepManager(Context context) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.mediaPlayer = null;
|
this.mediaPlayer = null;
|
||||||
updatePrefs();
|
updatePrefs();
|
||||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Reference in New Issue
Block a user