cordova webview flickering - android

I have web-app build with php+mysql+html5+bootstrap. App is fully in https and all i want is make a cordova app that opens the webapps's url.
BUT also i need to implement in app purchase. That will come later on.
Currently the problem is that i reserved the sample main screen(index.html) for the in app purchase (perhaps not needed) and the app url wil open by using plugin
cordova.InAppBrowser.open(linkTarget, '_self', location=no,zoom=no,hardwareback=no');
It works, but whenever i click a textfield and the keyboard comes visible, i can see the index.html behind. How to hide it or load the https content into it ?
Tested with old sgs 3 i9600, updated to the latest available android 4.3
series of photos shows what i mean. After clicking the textfield:
http://postimg.org/image/ka2covazh/

Related

Use custom WebView Engine in ReactNativeWebview

I am using react native webview for my app show my website built on React & Vite.
The probl is that some users complain about the app showing a blank screen, after further investigation I found that the user should update 'Android System Webview' app and then every thing works fine.
But the other problem is that I am targeting a zero-tech experience users who might don't event know how to update apps.
So I thought about using custom engine for ReactNativeWebview like mozilla or using my own updated android system webview, maybe ?

Android - My app replaces an other one when using the app switcher

I'm developing an app that receives data using intents(ACTION_SEND). When I'm sharing content from Chrome for instance, the content reaches my app, but suddenly my app replaces Chrome in the app switcher. So, if I have my app and Chrome opened, after the data sharing I have two instances of my app(even if the Chrome icon appears in top of that window, if I tap it, opens my app).
Any ideas about what is going on here?
Edit: I can't post code here for legal reasons, but tinkering with it I've discovered that this issue is happening on Android 11 and only sharing links from Chrome(using the share option in the Chrome menu). Sharing links from Firefox works ok.

Avoid showing android app chooser when source and target domains are same in http url

I am working on adding support for http urls in my android app, but am facing a weird situation. I have an android app and a website and want both of these to support the same http urls. As a standard practice whenever a supported linked is clicked android shows the appChooser dialog to select an app to proceed (prior to Android M). This behaviour is fine when the user is coming from a different channel other than your own website. I do not want this appChooser dialog to be displayed if the user is already browsing my website on chrome and clicks on a link which is supported by app. Since he is already on my website on chrome I want him to go forward without any interruption.
Let me explain this with an example:
I have added support for http://www.mywebsite.com/xyz [1] in my android app
User opens http://www.mywebsite.com [2] on chrome then clicks on link [1] present on the page. In this case I want the chrome to load the url without showing the appChooser dialog.
Unfortunately, the default android behaviour looks to be showing the appChooser dialog irrespective from where the link is clicked.
Is there anyway I can achieve my desired behaviour?
I see that LinkedIn and Facebook have achieved this behaviour, but not able to figure out how.
I dig into chromium source to figure out what is happening. As per chrome implementation when navigating within the same host it will show an Intent App Chooser if there is a newer App available to handle the target url as compared to the apps which can handle the source/referrer url. Source Code Link - https://cs.chromium.org/chromium/src/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java?q=browser_fallback_url&sq=package:chromium&l=385
Above explains the feature behavior that I am seeing. Since http://www.mywebsite.com is not handled by app, when user clicks on any link present on this page which is also handled by the app, it shows the app chooser.

Cordova/Phonegap and HTML5 App cache on Android

I'm trying to make an app which is available to users while offline, but updates if it's online . So i was thinking about using the HTML5 cache just for that, caching up the most recent version. The problem is , sometimes it works sometimes it doesnt. I have an index.html page in my Cordova App which sets your window.location to the http online link. Why wouldn't it work all the time? I have my manifest.appcache configured and mime-types enabled, sometimes it will just show a blank page not found ,even though it downloaded a page which included a manifest. Is there anything i'm missing? I put the link setting in index.html after the javascript body load event. It's android that i'm testing , so far i tried with an Iphone 1 time and it worked.
If you guys know more, please share

Using iFrames in Phonegap And App Crashes

I have created an app with PhoneGap 2.0.0 for Android on Eclipse but when I try run the application either on an emulator or my phone(signed application with no errors) it only shows up the static html pages. When I go to a page where I have used iFrame to load another webpage into it, it simply crashes.
This is the screen I get on the emulator and the same message is displayed on my phone as well(SE Xperia X10)
Screenshot of Emulator with The error :
After showing the message the app crashes instantly. Please let me know if I need to add any other permissions or add other settings or make any changes for this to function because the iFrame functions properly outside Phonegap on browser(including phone/desktop browsers)
At least some versions of PhoneGap use an iframe to communicate with the native layer.
I'm most familiar with the iOS version, where there are definite bugs in the browser's support of iframes ( https://issues.apache.org/jira/browse/CB-593 ). I don't know if there is a similar system level issue on android, but there could easily be some part of your code that doesn't expect that second iframe to be there.

Categories

Resources