android之Cordova 5.3.1 Android 应用无法上网

我正在尝试在 android 上部署一个非常简单的 cordova 应用程序。它应该启动,然后通过角度 $http 拉入国家列表并显示它们。

由于某些原因它无法访问互联网,为了简化测试,我添加了一个图像标签来显示网络上的图像。图片也不显示。

我也无法连接到 jsconsole.com

我已经在真实设备和模拟器上对其进行了测试。在这两种情况下,应用程序都无法访问网络,但我可以在设备和模拟器上浏览网络。

我在 config.xml 中包含了以下内容

java 复制代码
<access origin="*" /> 

我还检查了生成的 AndroidManifest.xml 文件,它包含以下权限:

java 复制代码
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

我错过了什么?

这里是完整的配置文件:

java 复制代码
<?xml version="1.0" encoding="UTF-8"?> 
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" 
    id="com.domain.app" version="1.0.0"> 
    <name>app</name> 
 
    <description> 
        A sample Apache Cordova application that responds to the 
        deviceready 
        event. 
    </description> 
 
    <author href="http://www.eclipse.org/thym" email="thym-dev@eclipse.org"> 
        Eclipse.org - 
        Thym 
    </author> 
 
    <content src="index.html" /> 
 
    <access origin="*" /> 
    <preference name="fullscreen" value="true" /> 
    <preference name="webviewbounce" value="true" /> 
    <preference name="LogLevel" value="VERBOSE" /> 
 
 
    <feature name="App"> 
        <param name="android-package" value="org.apache.cordova.App" /> 
    </feature> 
    <feature name="Compass"> 
        <param name="android-package" 
            value="org.apache.cordova.deviceorientation.CompassListener" /> 
    </feature> 
    <feature name="Device Orientation"> 
 
    <param name="id" value="cordova-plugin-device-orientation" /></feature> 
    <feature name="Device"> 
        <param name="android-package" value="org.apache.cordova.device.Device" /> 
        <param name="id" value="cordova-plugin-device" /> 
    </feature> 
    <feature name="Notification"> 
        <param name="android-package" value="org.apache.cordova.dialogs.Notification" /> 
 
    <param name="id" value="cordova-plugin-dialogs" /></feature> 
    <feature name="NetworkStatus"> 
        <param name="android-package" 
            value="org.apache.cordova.networkinformation.NetworkManager" /> 
    </feature> 
    <feature name="Network Information"> 
        <param name="id" value="cordova-plugin-network-information" /> 
    </feature> 
 
    <engine name="android" version="4.1.0"/> 
</widget> 

这是 list 文件:

java 复制代码
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.domain.app" 
    android:hardwareAccelerated="true" 
    android:versionCode="100008" 
    android:versionName="1.0.0" > 
 
    <uses-sdk 
        android:minSdkVersion="14" 
        android:targetSdkVersion="22" /> 
 
    <supports-screens 
        android:anyDensity="true" 
        android:largeScreens="true" 
        android:normalScreens="true" 
        android:resizeable="true" 
        android:smallScreens="true" 
        android:xlargeScreens="true" /> 
 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
 
    <application 
        android:hardwareAccelerated="true" 
        android:icon="@drawable/icon" 
        android:label="@string/app_name" 
        android:supportsRtl="true" > 
        <activity 
            android:name="com.domain.app.MainActivity" 
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" 
            android:label="@string/activity_name" 
            android:launchMode="singleTop" 
            android:theme="@android:style/Theme.Black.NoTitleBar" 
            android:windowSoftInputMode="adjustResize" > 
            <intent-filter android:label="@string/launcher_name" > 
                <action android:name="android.intent.action.MAIN" /> 
 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 
</manifest> 

请您参考如下方法:
如果您使用的是 cordova 5 或更高版本,则应使用 whitelist plugin

您还应该将此添加到您的 config.xml 中:

java 复制代码
<allow-navigation href="*" /> 
<allow-intent href="*" /> 
<access origin="*" /> 

如果你愿意,你可以更具体一些。

并将此元数据添加到您的 index.html 或主页

java 复制代码
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
相关推荐
闲暇部落20 分钟前
‌Kotlin中的?.和!!主要区别
android·开发语言·kotlin
诸神黄昏EX2 小时前
Android 分区相关介绍
android
大白要努力!3 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
Estar.Lee3 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
Winston Wood4 小时前
Perfetto学习大全
android·性能优化·perfetto
Dnelic-7 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
Eastsea.Chen9 小时前
MTK Android12 user版本MtkLogger
android·framework
长亭外的少年16 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
建群新人小猿19 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
1024小神20 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri