在Android 9手机上运行Cordova Android应用,我们的逻辑会在本地手机存储上创建一个文件。然后,我们尝试使用社交共享来允许用户通过电子邮件发送此文件。该功能以前可以在具有较旧插件版本的Ionic1 / AngularJS上运行,但是我们当前对Ionic 3 / Angular 4的应用程序更新发现使用5.4.4插件无法正常运行。
但是在Android上(完全相同的代码在iOS应用上可以正常工作),它会被捕获的错误对象消息踢掉:
尝试在空对象引用上调用虚拟方法'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,java.lang.String)
我疯狂地搜索了Google,但没有可用的修复程序。我强烈认为这是某种Android安全问题,导致Cordova应用无法将文件传递到另一个设备应用。
我已经完成了删除平台,重新添加和删除插件以及重新添加的所有常规建议。
我已经阅读了很多有关在config.xml中添加定义以指定共享路径的信息... ILE_PROVIDER_PATHS“ 但是,它编译并加载了此添加项,但该应用程序在启动时崩溃,并且“ adb logcat”显示了大量错误。需要再次捕获它们。
我希望显示社交共享屏幕,所以我可以选择Gmail,并且在电子邮件中填写了“主题”后,我希望附件中的文件能够正常工作。现在,我得到了电子邮件屏幕和主题,但没有文件。
正如我所说,iOS可以正常工作,所以我认为这是一些Android安全废话,我需要在config.xml中添加一些内容。