fix(android): 移除未使用的权限声明并添加硬件支持检查
移除AndroidManifest.xml中不再需要的权限声明和库引用 在RedScanner.java中添加硬件支持检查,当设备不支持时返回错误信息
This commit is contained in:
@@ -17,12 +17,5 @@
|
||||
|
||||
<lib-file src="src/android/libsref/ScannerAPI.jar" />
|
||||
|
||||
<config-file target="AndroidManifest.xml" parent="/manifest/application">
|
||||
<uses-library android:name="android.scanner.library"/>
|
||||
</config-file>
|
||||
<config-file target="AndroidManifest.xml" parent="/*">
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
</config-file>
|
||||
</platform>
|
||||
</plugin>
|
||||
|
||||
@@ -20,19 +20,30 @@ public class RedScanner extends CordovaPlugin implements DecodeInfoCallBack, Sta
|
||||
private CallbackContext cb;
|
||||
private Scanner scanner;
|
||||
private boolean isOpen = false;
|
||||
private boolean notSupported = true;
|
||||
|
||||
|
||||
@Override
|
||||
protected void pluginInitialize() {
|
||||
super.pluginInitialize();
|
||||
scanner = ScannerFactory.getScanner(cordova.getContext());
|
||||
scanner.setDecodeInfoCallBack(this);
|
||||
scanner.setStatusCallBack(this);
|
||||
isOpen = scanner.open();
|
||||
try{
|
||||
scanner = ScannerFactory.getScanner(cordova.getContext());
|
||||
scanner.enable();
|
||||
scanner.setDecodeInfoCallBack(this);
|
||||
scanner.setStatusCallBack(this);
|
||||
isOpen = scanner.open();
|
||||
} catch (RuntimeException e) {
|
||||
Log.e("SCAN_PLUGIN", "pluginInitialize: "+e.getMessage());
|
||||
notSupported = true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
|
||||
if(notSupported) {
|
||||
callbackContext.error("硬件设备不支持此功能!");
|
||||
return false;
|
||||
}
|
||||
if("scan".equals(action)) {
|
||||
cb = callbackContext;
|
||||
if(!isOpen) {
|
||||
|
||||
Reference in New Issue
Block a user