What is the default "Internet/Navigator" of Android? - android

I have been trying to investigate during these days exactly which browser is the one that comes by default in the android devices, but I am still confused.
If I understood this correctly, there are two possibilities depending on the device and Android version:
"Android Browser" (its version depends only on the Android API? no updatable? based on WebKit?)
"Chrome for Android" based on WebKit
I have done some tests with all the devices that I have been able to obtain and I have seen that approximately from version 5.0 or 5.1 of Android the default browser begins to be Chrome for Android. I think that because on versions smaller than 5.0 I cannot debug the app-browser connecting it to my PC and from the chrome://inspect and on versions higher I can do it, but maybe I'm wrong. I would like to ask if anyone can verify or correct that?
I have also realized that in versions higher than 5.0 there is an application called "Android System WebView" also available in PlayStore, but I would also like to ask: Does this have any relation to the type of browser installed (Android Browser or Chrome For Android)?

Related

Android 4.4 Locked Task Mode

I'm creating a flutter app that will be installed on a Samsung Galaxy 7-inch Tablet with Android KitKat (v4.4). It will be the only app on the tablet, and will be implemented such that it loads when the device is powered up, and the user will be unable to exit the application.
I've found this on the Android Developer docs, but it only applies for versions 5.0 and over.
https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode#java
I have not been able to find any documentation/tutorials that could possibly assist with this, without using a 3rd party application such as Surelock and Kioware.
Is there a way to implement the above for older Android version (in my case for version 4.4)? Thank you.
As you are targeting an older Android version you will need to implement some workarounds, but luckily there is a very extensive tutorial on how to do just that for Android 4 which you can find here:
http://web.archive.org/web/20201101145703/https://www.andreasschrade.com/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
As this is very platform specific you will need to develop directly for Android and then connect it to your Dart code with this tutorial.
If you control the devices your software will be installed on, you can also opt for the 'root' way of doing things which is described here:
Enabling KioskMode in Android 4.4.2 with Root

Proxy error on android 6 device with ionic 4 app

I am getting the following error (see image) when running a very basic Ionic 4 / Capacitor app on an Android 6 device.
I think it is because the the Android system webview needs to be updated.
I don't have access to the device myself as it is with a client, all I have is an emulator. I can't seem to update the webview version on the emulator and I don't think this is possible so I can't replicate.
Capacitor states it should work with back to Android 5.1 if the webview is up to date.
I am not that familiar with older Android devices.
Is it as simple as sending this link and getting them to update the webview via the play store?
Will the device have play store installed?
https://play.google.com/store/apps/details?id=com.google.android.webview&hl=en
Capacitor docs:
https://capacitor.ionicframework.com/docs/android/
**Note:**  Currently to use an Android Emulator you must use a system image of at least Android version 7.0 on API 24. This is due to the System WebView version not being able to be updated on emulators. Physical devices should work as low as Android 5.1 so long as they are kept updated.
Update:
I go the app to run on the device by removing all Capacitor plugins.
How ever I still have several issues:
I need to use plugins in the app
The css is not getting displayed correctly at all. None of the Ionic 4 colors are applying and the style are off.
It appears even after updating the Android system webview via google play to the latest and updating google chrome it is still using an old version of the webview.
Here is the userAgent output:
Mozilla/5.0(Linux; Android 6.0; C72 Build/MRA58K; wv) AppleWebKit/537.36(KHTML, like Gecko) Version/4.0 Chrome/44.0.2403.119
Mobile Safari/537.36
The latest version on chrome is 73.0.3683.90 so it is way off.
This is the device:
https://www.chainway.net/Products/Info/42
Final Update:
I contacted the manufacturer of the device and they confirmed that the webview was locked to version 44 on the firmware.
They are look at providing an updated version of the firmware with a more recent webview version.
Also it was only the capacitor/core plugins that were not working. I could still use other 3rd party plugins such as a barcode reader.
If you are in the situation above I recommend using navigator.userAgent to determine the webview version as mentioned by #jcesarmobile in the comments below.
Yes, if you send that link and they update the Android System WebView then the app should work fine.
Unless your customer is in China, Play Store doesn't work there.

How To Get Ionic 4 To Work On Android 5.1

I currently just created an Ionic 4 application and when i test on my android 5.1 device nothing shows, i go to google to find out what the issue could be and it turns out ionic 4 has a problem working on android 5.1 and lower devices. Is there anyway to get it to run on at least android 5.1 ?
It appears that Ionic has a closed issue on Github for this that states that Android 5 is not entirely supported:
https://github.com/ionic-team/ionic/issues/15438
One of the Ionic team members states:
"We are aware of this issue and have been working to fix it for some time. The main issue here is that there seems to be a constant stream of things that need to either be polyfill or reworked in order to support older Android. And to add to this, the android emulator is not always the best test ground
As the older android emulators are not connected to google play, they do not receive updates to the browser, meaning that though a real android 5 device might have chrome 70, the emulator is stuck on chrome 37 (~1% of the global market), which is a drastically different environment.
While we are making fixes internally in both stencil and ionic/(core,angular), devs can enable Angular Polyfills to fix some older features.
For most cases though, people will not be seeing "older" webviews that devs are getting in the Android emulator. They will be getting new chrome (70+) and all the latest web features.
We will we continuing to address this issue and make sure things work as expected."

Is there a minimum Android version for supporting inappbrowser?

Our Phonegap app using inappbrowser works really well on every device tested except one using Android version 4.3 where the CSS seems unresponsive and the onscreen keyboard doesn't pop up when you tap in text fields. I can't seem to find any documentation on minimum versions of Android for supporting the various Phonegap plugins.
From my experience, I've used phonegap a far as Android 2.1 . The problem you could have on such older versions is the phonegap version.
You should provide further information such as phonegap version.
But I can assure you that Android 4.3 has a very broad support for all Phonegap/Cordova 5+ plugins.
If I were you I wolud try updating phonegap version according to your desire of minimum Android version you want your app to be executed on.
For example, until Android 2.3 on inappbrowser apps it wasn't able to use overflow scroll, so you had to use an external plugin to get that effect, which was really annoying.
Hope this helps.
Without any code it's hard to diagnose, but it might be a browser issue: Android 4.3 does not necessarily ship with Chrome, so it might be still running the old "Android Browser", which does not support all (CSS-)features Chrome supports. Caniuse helps to find out if a browser supports a certain feature.
If it's indeed a browser issue and you have to support older browsers like the Android Browser, you might want to check out Crosswalk. It provides a recent version of Chrome as a WebView and as InAppBrowser with consistent behaviour on all Android 4.x devices. Downside: Your app's size will increase...
If it's not the browser you might need to show us some of your code.

Android KitKat latest version of Chrome

How can I find out the latest version of Chrome that I can run on KitKat Android (4.4x) please? Is it possible to grab the most recent versions APK from a newer OS install and copy to my KitKat device?
I need to determine the best way to run to run fullscreen without user intervention and there are varying supports for "fullscreen apis".
You can grab the latest version of Chrome from Google Play, but it's backwards-compatible with KitKat and it won't change a single thing you're currently seeing on KitKat.
Here is the future bleeding-edge version of Chrome, but this too won't solve your immediate testing problem.
Since you don't seem to have a Lollipop device with the right specs for what you're testing, you'll need to create a Lollipop Intel-based emulator for it and run it on your computer (an ARM-based emulator won't be sufficient, because it will be too slow).
If you need to simulate a slower cell phone internet connection with higher latency, you'll need to make that explicit when you configure your emulator, because one thing that developers forget is that their development machine usually has a very fast internet connection despite the fact that the emulator itself runs slower.

Categories

Resources