[英]Phonegap Notification not working in phonegap developer android app
[英]Phonegap app working on preview but not on Android device - Promise
我有一个 Phonegap 应用程序,它可以在预览应用程序上完美运行,但是当我使用 Phonegap Build 创建一个 APK 并将其安装在 Android 设备上时,它部分工作,除了 Promise 内的任何代码。 我添加了一些警报,我注意到它在 Promise 之前停止工作。
我有以下代码:
{
alert('passwordreset before promise');
return new Promise((resolve, reject) => {
alert('inside promise');
this.api.call( '/' + this.endpoint + '/recover', {email: email})
.then(response =>
{ alert('promise succes');
resolve(response);
})
.catch(errors =>
{
reject(errors);
});
});
}
第一个警报(promise 之前的密码)被执行,但不执行其他警报。
你知道会发生什么吗?
你使用安卓工作室吗? 如果是这样,请检查您在 LogCat 选项卡中有什么日志。 您是否设置了正确的 CORS 设置? 看起来您正在发出一些 api 请求。 在 MSDN 中有一篇很好的文章描述了您可能缺少哪些设置: https : //docs.microsoft.com/en-us/visualstudio/cross-platform/tools-for-cordova/security/whitelists?view=toolsforcordova-2017
由于默认情况下禁用 Android 9 明文。 如果问题仍然存在,请验证您的 network_security_settings.xml(如果已设置)。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">10.0.1.1</domain> <!-- Set local api -->
</network-security-config>
您可以在 Android Manifest 中设置网络设置文件
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application android:networkSecurityConfig="@xml/network_security_config">
...
</application>
</manifest>
webview 不支持承诺。 您需要为 ES5 转译/编译您的 JS 代码。
Promise 是 ES2015 JavaScript 规范(也称为 ES6)的一部分。
如果您需要 polyfill,请查看https://www.promisejs.org/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.