我有一个问题,我找到了原因,但我无法解决。
我的cordova应用程序在android 8.0.0上崩溃。我做了一个日志,显示该应用程序正在尝试访问联系人。
奇怪的是,我没有联系人插件,也没有在我的应用程序中使用联系人。
在logcat上,我有以下错误:
12-11 17:29:42.094 E/AndroidRuntime(5609):java.lang.RuntimeException:java.lang.RuntimeException:java.lang.SecurityException:权限拒绝:从进程记录{6155964 5609:com.pierrickmartelliere.UPHAIRR/u0a210}(pid=5609,uid=10210)需要android.permission.READ\u联系人或android.permission.WRITE\u联系人
<config-file parent="/manifest" target="AndroidManifest.xml">
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
</config-file>
对我
config.xml
我试了两个标签
uses-permission
和
uses-permission-sdk
如上所述
here
但是没有运气。
我的cordova android版本是6.2.3
var permissions = cordova.plugins.permissions;
permissions.requestPermission(
permissions.READ_CONTACTS,
function(success) {},
function(error) {}
);
permissions.requestPermission(
permissions.WRITE_CONTACTS,
function(success) {},
function(error) {}
);
但一切都没有改变。该应用程序在“deviceready”事件触发之前崩溃,因此我在运行时无法执行任何操作。
如上所述
here
,如果我将targetSdkVersion更改为低于23(甚至25),崩溃将消失,但我无法将其上载到google play,因为play console不接受targetSdkVersion<26
感谢所有愿意花时间阅读或回答的人。