gpt4 book ai didi

android - Cordova - 由于联系人许可,Android 应用程序在启动时崩溃

转载 作者:行者123 更新时间:2023-11-29 02:23:22 27 4
gpt4 key购买 nike

我遇到了一个问题,我找到了原因但无法解决。

我的 cordova 应用程序在 android 8.0.0 上崩溃。我做了一个 logcat,显示该应用程序正在尝试访问联系人。

奇怪的是我没有联系人插件,也没有在我的应用程序中使用联系人。

在 logcat 上,我有这个错误:

12-11 17:29:42.094 E/AndroidRuntime( 5609): java.lang.RuntimeException: java.lang.RuntimeException: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{6155964 5609:com.pierrickmartelliere.UPHAIRR/u0a210} (pid=5609, uid=10210) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS

我尝试了一切,添加了

<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 , 它在构建时很好地添加到 AndroidManifest.xml 上,但我仍然遇到错误。

我尝试了两个标签 uses-permissionuses-permission-sdk如所述here但没有运气。

我的cordova-android版本是6.2.3

我还尝试了 cordova-plugin-permission,就像在 deviceready 监听器中一样:

var permissions = cordova.plugins.permissions;
permissions.requestPermission(
permissions.READ_CONTACTS,
function(success) {},
function(error) {}
);
permissions.requestPermission(
permissions.WRITE_CONTACTS,
function(success) {},
function(error) {}
);

但是什么都没有改变。应用程序在“设备就绪”事件被触发之前崩溃,所以我在运行时什么也做不了。

如前所述here ,如果我将 targetSdkVersion 更改为低于 23(甚至 25),崩溃就会消失,但我无法再将其上传到 google play,因为 play console 不接受 targetSdkVersion < 26。

此外,如果我从应用程序设置中手动授权联系人访问并强制停止并重新启动该应用程序,它会起作用。这让我发疯。

在此方面的一些帮助将不胜感激。

感谢所有愿意花时间阅读或回答的人。

最佳答案

我终于在 cordova-android github 上发布了一个问题。我很快得到了答案,它是:

更新 cordova-android 到 7.1.4 !

https://github.com/apache/cordova-android/issues/606

关于android - Cordova - 由于联系人许可,Android 应用程序在启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53728634/

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