gpt4 book ai didi

android - Ionic Creator + Cordova 条码扫描器写入 : false

转载 作者:行者123 更新时间:2023-11-29 16:55:31 27 4
gpt4 key购买 nike

我编写了一个非常简单的 Ionic 包(作为测试的一部分)来启动条码扫描器

我已经安装了 cordova-plugin-barcodescanner 并且正在使用以下内容

$scope.scanBarcode = function() {

$cordovaBarcodeScanner
.scan()
.then(function(barcodeData) {
alert(barcodeData);
}, function(error) {
alert(error);
});
}

然后我有一个非常简单的

<button ng-click="scanBarcode()">Scan</button>

我已经编译了应用程序,生成了我的 apk,安装在设备上,确认应用程序已启用相机(和存储)权限。

当我点击扫描按钮时,触发了一个错误

写入设置:false

我不知道从哪里开始,因为没有针对 barcodescanner 的特定错误文档。

只是建议我在编译应用程序后可以将 cordova-plugin-camera 与 ionic creator 一起使用。

最佳答案

其实我也遇到过这个问题,Android 6.0及以上版本应该会出现。

在插件内部,以下代码是触发它的代码。

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP + 1) {
Class systemClass = Settings.System.class;
try {
Method canWriteMethod = systemClass.getDeclaredMethod("canWrite", Context.class);
boolean retVal = (Boolean) canWriteMethod.invoke(null, this.cordova.getActivity());
Log.d(LOG_TAG, "Can Write Settings: " + retVal);
if (!retVal && !action.equals("requestWriteSettings") && !action.equals("getWriteSettings")) {
//can't write Settings
this.callbackContext.error("write settings: false");
return false;
}
this.writeSettings = retVal;
} catch (Exception ignored) {
Log.e(LOG_TAG, "Could not perform permission check");
this.callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ILLEGAL_ACCESS_EXCEPTION));
}
}

所以我认为我们需要通知插件创建者或为此提交修复。

暂时你可以做的是通过评论我分享的整个 block 来绕过它。 似乎它在我身边工作,还没有检查它是否真的在某个地方使用过代码。为什么必须调用它。

另一个正确的方法是通过实现以下代码来增强代码:

一个。包含在 AndroidManifest.xml 中:

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

B.通过调用所需的 Intent 来允许或要求用户允许写入设置:

Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
intent.setData(Uri.parse("package:" + this.cordova.getActivity().getPackageName()));
this.cordova.getActivity().startActivity(intent);

更新

C.这是 MoleDesign 建议的,如以下答案之一所述。另一种解决方法是降低 sdk 版本,在 project.properties 中将其更改为:

target=android-23

关于android - Ionic Creator + Cordova 条码扫描器写入 : false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45172337/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com