I have recently started using html, javascript and css to build an app with PhoneGap. The first time I uploaded and ran it on my iPhone (running iOS 7) it showed the regular iOS 7 keyboard and picker. I then made some changes to the app, uploaded it and ran it but the keyboard and picker had reverted back to iOS 6 and before keyboards. Now what?
I am not using any external javascript frameworks right now and not using an IDE, just a simple code editor for explicitly writing the code.
Picker refers to the UIPickerView that shows in iOS web views on combo boxes.
Had the same issue for a while. I figured it was the javascript framework's fault. The real issue was the launch image. If the launch image doesn't fit the exact specifications it will launch the app in compatibility mode.
You can find the necessary specifications here: https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ExpectedAppBehaviors/ExpectedAppBehaviors.html#//apple_ref/doc/uid/TP40007072-CH3-SW3
As an aside, I used this app from the mac app store in order to get the launch images exactly right. Worked great for me. https://itunes.apple.com/gb/app/asset-catalog-creator-free/id866571115?mt=12
Related
What features (HTML, JS, CSS, Web APIs), outside of plugins, are available in a cordova web view ? I am making a web app, and then I use cordova to create an apk file. The web app works fine with chrome and firefox for android. But when I try the generated apk on the same android device and the emulator the JavaScript is obviously not executed because buttons have no effect.
The initial HTML and CSS display fine, and I think I use some JavaScript or HTML5 features that are not available yet on cordova web view, but I don't know what I can use and what I cannot. I had a look at the emulator's error log but I get nothing meaning-full.
For example is it possible to use es2015 without transpiling, esModules etc, but I don't know where to look it up. What is the difference between a webview browser and chrome/firefox for android.
Targeting Android 4 and later.
https://cordova.apache.org/
It's probably easiest to look at the architecture diagram: https://cordova.apache.org/docs/en/latest/guide/overview/index.html.
Cordova apps consist of a small wrapper around a WebView (this is a "window" of the default browser installed by your mobile OS, although you can swap it out for another: https://cordova.apache.org/docs/en/latest/guide/hybrid/webviews/), with access to the mobile device's features via plugins. So... to answer your questions:
You can use any technology that's supported by the mobile browser you're working in. https://caniuse.com is super helpful in this regard.
You will also find that Android 4.x's stock web browser is not that great -- some of the shiny new popover UI stuff (walkthrough help and light boxes) will render, but the z-order is all messed up when you try to click to the next item. I've run into other issues as well, but I can't remember them off the top of my head.
The Crosswalk project allows you to embed a Chrome browser web view in older Android versions (back to 4.x I think). Support for this project has been discontinued in the latest Cordova releases, as it's no longer necessary.
I'm developing a Kiosk application using Electron. But when I tested the app on an actual kiosk with windows 8 OS, the on screen key board is not launching. Is it possible I can manually enable keyboard by using JavaScript? I searched along for the answer but didn't got any proper answer. Also I would like to change the language of the keyboard with users preference? Can I do these using windows on screen keyboard?
How exactly you create kiosk mode? By replacing shell or/and use full screen application? If so - you need to use own internal keyboard. Windows keyboard available only if explorer running and no full screen application running.
I ran across this while researching a similar issue. If you are using a Windows Shell Launcher (details here), then you may still be in luck. The "Touch Keyboard and Handwriting Service" service is still available using this method. You can test that the keyboard is accessible by opening Task Manager and trying to run a new task. If the keyboard pops when you tap the input field there, the keyboard is working at the OS level.
If the keyboard is not opening at the OS level, it may require starting the Touch Keyboard service or setting a couple registry keys like:
HKCU\Software\Microsoft\TabletTip\1.7\EnableDesktopModeAutoInvoke = 1
HKCU\Software\Microsoft\windows\CurrentVersion\ImmersiveShell\TabletMode = 1
All of this said, there have been some issues with how Chrome interacts with the Touch Keyboard starting sometime around Chrome 49-50. Updating to the latest Chrome fixed the issue for me (51.0.2707.106m). I imagine there would also be some overlap since Electron uses Chromium from what I understand.
PS - I just realized this question was for Windows 8. Although my experiences were with Windows 10, I believe the same advice should apply.
So my issue is I have this app I am creating with phonegap (ios and android) and a couple of the pages need to be landscape the rest should be portrait. I couldn't seem to get this working in just standard phonegap so I tried to use this plugin (cordova-plugin-screen-orientation https://github.com/gbenvenuti/cordova-plugin-screen-orientation) which was recommended a lot, but it kept breaking the rest of my JS (maybe because I am using cordova 5 and the version it recommends is 4)
Thanks for your help
I have searched for this for a while a couldn't find anything that would work,
I am trying to start an android activity from my phonegap javascript file. I have seen a few post from years ago when DroidGap was still utilized. Does anyone know how to do this with the current updated version of phoneGap? Please do not point me to any posts that refer to the old version of PhoneGap.
What you probably want is a native plugin.
You can call your native code from within your JavaScript and then stat your activity as usual.
Documentation for plugins (for android) is located here.
I'm using <input type="date"/> According to caniuse.com android browser does not support this yet. Although I look at the the page on the HTC One 4.1.x, which has its own native rendering for the input field. Samsung Galaxy S3 4.1.2 has a rendering style for the component as well. Yet caniuse.com says its not supported. HTC and Samsung have clearly added this functionality into their version of android browser. The date picker on the S3 4.1.2 crashes the browser on more than one S3?
Steps to replicate, appears to be more common on first visit of the page:
Select the date picker move the month down twice.
Select set.
Page crashes/becomes unresponsive.
I'm using Modernizr, Modernizr tests the browser to see its functionality. On the HTCOne and S3 modernizr does not bring in the polyfill i'm using, this is correct.
So IOS works fine, Android does not. How can I get around this without a nasty hack in the modernizer "test:" Attribute?
Thanks, long one to read, but an interesting bug at best.
Mike
Not all Android systems are the same. Since everything is constantly getting updated, you're bound to get some small deviations like what you're getting. If you want more universal support, try using multiple selects or using the jQuery UI datepicker.