I developed an app with Ionic v1 and tested with "ionic serve" and "ionic run android" and works fine. It makes all $http requests to an external API (that allows CORS) and I recive the data well.
The probleme comes when I try to test the app in real mode. I added the app to Ionic view to test in Android mobile device and I see that the requests to the API are not performed (because I not see any data printed in tha app).
For what reasons can be? I need to perform extra configs in my API server? I need to perform some special configs to Ionic app?
PD: I installed cordova withelist plugin and added this lines to config.xml file:
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="*" />
You verify if Cordova CLI has generated these Android permissions entries in your AndroidManifest.xml?
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
I hope that helps.
Greetings.
Related
I have made an app that fetches some data by API.
In my emulator, the app fetches data perfectly and shows the data correctly too.
But whenever I build an APK and install it on my phone the data doesn't show up.
Why is it happening? In the emulator, it's works.
For fetching data, I used future builder
Add:
<uses-permission android:name="android.permission.INTERNET" />
your AndroidManifest.xml
As flutter docs say on reviewing the app manifest you should locate your AndroidManifest.xml file located in [project]/android/app/src/main.
Then inside manifest tag insert Android permission element as
<uses-permission android:name="android.permission.INTERNET"/>
The code above follows the syntax mentioned here.
According to flutter docs:
The standard template does not include this tag but allows Internet access during development to enable communication between Flutter tools and a running app.
I have built a Crypto App with API from https://api.coingecko.com/api/...
This App works fine when on Emulator or Physical Device but after it is rolled out for production in Play Store, many functionalities are missing from the App (the whole API).
Play Store link : com.codoweb.cryptorealtime
Here are some snapshots for your better understanding -
What do I do ? Please help.
I belive you missed to add internet permission in the manifest
<manifest xlmns:android...>
...
<uses-permission android:name="android.permission.INTERNET" />
<application ...
</manifest>
My APK build file in flutter doesn't have internet permission.
I already did this
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.Supplier_app">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
This is a very general issue faced by flutter beginners.
In android, each required permission is specified in AndroidManifest.xml file.
For native coding there is only one file inside app/src/main. For flutter, there are not one but 3 of these.
app/src/debug/AndroidManifest.xml - for debug mode
app/src/main/AndroidManifest.xml- for app distribution in release mode
app/src/profile/AndroidManifest.xml - for running app in profile mode
The internet permission is provided by default in the debug mode. So, internet works without doing anything.
All the permissions required for app distribution must be specified in app/src/main/AndroidManifest.xml. For testing purpose, the permissions are specified in other files mentioned.
Please check the mode of the app in which you have permission. It should be in main/AndroidManifest.
You are probably trying to edit the AndroidManifest.xml that is located inside the "debug" directory. The AndroidManifest.xml you are looking for is located in the app\src\main path.
gapi.client.load not working on iPhone device .
Its loading on android device , firefox , and safari .
Im using ionic with google app engine endpoints.
Please any help .
Solved ,
I added the below tags to config.xml , or you may add under the platform itself
<access origin="*" />
<allow-intent href="geo:*" />
<allow-navigation href="*" />
Thanks
Like a lot of people, I'm going in circles. I had an app working fine with Google Maps API v2, and then, maybe through updating Eclipse, the maps stopped working. I have the grey tiles appear, but I get the error:
08-18 11:03:56.678: E/GooglePlayServicesUtil(7750): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
08-18 11:03:56.923: D/dalvikvm(7750): GC_CONCURRENT freed 1233K, 15% free 13248K/15495K, paused 2ms+3ms
08-18 11:03:56.968: D/OpenGLRenderer(7750): Flushing caches (mode 0)
08-18 11:03:59.223: D/dalvikvm(7750): GC_CONCURRENT freed 1302K, 14% free 13375K/15495K, paused 4ms+3ms
08-18 11:03:59.538: I/Google Maps Android API(7750): Failed to contact Google servers. Another attempt will be made when connectivity is established.
08-18 11:04:14.688: E/Google Maps Android API(7750): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).
I've seen a lot of posts, and I thought I'd covered everything. My manifest reads:
<permission
android:name="com.xxx.xxx.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.xxx.xxx.permission.MAPS_RECEIVE"/>
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- External storage for caching. -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- My Location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- Maps API needs OpenGL ES 2.0. -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyD8YSb-xzI1CN9EZvfukLvCtioryzDpyg4"/>
<uses-library android:name="com.google.android.maps"/>
My library set-up looks like this:
with the following build path:
Anyone got any ideas where I am going wrong? The API key is the one that worked last time.
If you are using the same API key, there are two reasons your key might stop working --
1) The package name of your app has changed. Did you change the package name? if so you need to add/update it in your "Allowed Android Apps" to your API key on the API Console
2) The signing key of your app has changed. You mentioned you updated eclipse. You also do not mention if you are using the debug key to sign the app, but is it possible you generated a new debug key for signing? You can check the debug certificate information by following the instructions in the maps docs. Then, check your API Console to make sure the fingerprint of your cert is listed correctly.
I've fixed it, and the problem was in having duplicate keys for the same app on the Google API console. I had created a debug and a release key, but in testing I was only listing the debug key in manifest. By deleting the app's listing from the release key, the maps started to work.
Strangely enough, I haven't had this problem with duplicate keys before. I also took the Google advice of listing both keys in Manifest, and that didn't work. What seems to work is only one live key in the API console, with only one reference in Manifest.