Ionic 1: JellyBean vs. KitKat Android Network Problem


#1

After upgrading to support iOS 10, some Android devices (specifically Galaxy Notes) are no longer able to access the app’s API from the ionic app.

I do want to stress that the app works on several android devices but on a galaxy note 2 phone and galaxy note tablet, they stopped working.

Since it appears that whitelist is configured properly I’m really perplexed.

config.xml has:

access origin="" subdomains=“true” />
allow-intent href="
" subdomains=“true” />
allow-navigation href="*" subdomains=“true” />

AndroidManifest has:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

And my Content-Security-Policy in index.html:

<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src  'self' 'unsafe-inline' *">

#2

So I’ve narrowed it down, it’s that my app doesn’t work simultaneously on JellyBean and Later versions of Android (eg. KitKat+).

How do I configure these settings to work both for JellyBean and for KitKat+ ?


#3

The issue ended up being solved by upgrading the webview to crosswalk.

We’re currently testing the new implementation out but initial results are promising.