Phonegap opens external URL of third party library fullscreen - android

I'm having this little issue with PhoneGap when playing around with it:
Whenever I open an external link on my iPhone, it goes fullscreen and there is no way back but terminate the app and start again. I've read some articles and think this could be easily fixed by just calling window.open (or navigator.app.loadUrl on Android).
However, the problem continues with 3rd party library. In particular, I'm using Google Maps and the widget has little links to "Terms of Use" and something else. Tapping this link will load the Google URL full screen again.
My question is, is there any global configuration/code to either modify the in-app web browser (add header, back button and so on) or open every external links on device's default browser?
Thanks for reading and helping :)

First you study about InAppBrowser.
InAppBrowser open with close(done) button . This is not working means you also use ChildBrowser.
Reference 1
Reference 2

Related

How to check if I am clicking an external link and open it from a site opened in a webview on xamarin

I open my site through a webview, inside the page there are links with the tag <_blank>, but the application treats them as if they were not inside the webview (if it wants them to be pdf links).
I tried to check around but I can't find anything that suits me.
I saw that I can use the BrowserLaunchMode function, but I go back to the starting point because I don't know how to implement it in the webview and above all I don't know how to make the app recognize that I'm clicking a link.
Could someone please tell me if there is a way to check when I touch the webview if I am clicking a link please?

How can android app (Intent.ACTION_VIEW) opens url in browser, with named window

How can I, in Android APP, open a URL in browser with a named window?
There are many good solutions for, from Android APP, opening a URL in a browser window with the Intent.ACTION_VIEW, but is there a way to specify a target name?
The reason I need this is because there is a specific step that needs to done is a browser, instead of in my APP. If a new browser window is opened every time, there will be multiple browser windows open. What I need is just using one fixed browser window.
To make it clear, below are two similar situations when open another browser window with a link. What I need is the latter one.
< href="url" target='_blank'> Pop open a new window each time clicked.</>;
< href="url" target='MyWindow'> always open in the same window</>;
Thanks.
The behaviour you're trying to achieve is only possible through a custom webview or a 3rd party library. I would recommend Chrome Custom Tabs though because many mobile browsers actually do implement those and they offer much flexibility. Also some websites block features when they're shown in webview. For example you cannot use Google login in a Webview. You need to launch a browser or a custom chrome tab.

Phonegap - Eclipse - opening files or external websites

Good morning, first of all sorry if this have been asked before, i've found no answer yet and i've been looking for it for a long time.
The problem: there's links to external websites in my app. This links always open inside my app. I want them to open like the following image, asking me what app i want to use to open the link:
Click to see image
http://blog.laptopmag.com/wpress/wp-content/uploads/2013/03/complete-action-i.jpg
Another problem is that i have some files i want to download from the app. They have the same problem. I would like the requested file to download automatically but it does nothing.
Wish you could help me, i am new in this and i'm a little (or too much) lost. Appreciate your help¡¡¡ Thanks
I'm pretty sure that you can do this with the InAppBrowser plugin: http://cordova.apache.org/docs/en/3.0.0/cordova_inappbrowser_inappbrowser.md.html#window.open
If you set the target=_system, it will "Opens in the system's web browser." I think if you have set a default web browser already on your device, it will probably use that web browser and not give you the prompt in your screen shot. I don't think there is a way to force the system to ask you which app to use, unless the user somehow clears that association/setting.

Icon that when clicked would launch to my website

I would think this would be one of the simpler and popular app questions on the net, but I have been unable to find any info…
I would like to create an icon that when clicked would launch to my website which has been modified for mobile devices. I would like to make this available on the android market.
Does anyone know how to do this or know where I can find a step by step guide?
Matt
Have you thought of using the WebView control? Then your UI can be a local HTML with an image button and you configure it with an onclick event that refresh the WebView control with your target website?

Easiest way to launch webpage in android with an icon

We have a website that offers an e-mail service. We would like to create a fully fledged app for this but cannot afford this right now. In the mean time it would be great if we could give users an icon on their phones that will take them to a page formatted for mobile on the internet. So what I'd like to know is how can we get an icon on an android users phone that will simply launch a web link in a browser- does this have to be an app, is there an easier way, or am I over estimating how complicated it would be to make this as an app anyway?
Thanks in advance
Create a new Android project (after following the SDK installation steps provided at http://developer.android.com)
on the directory /res/drawable-*dpi you have the laucher icons. Modify all of them.
In the main activity, delete all inside the onCreate method an put this:
String url = "http://www.YOUR-URL.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
This will open the android browser with the URL provided.
I have done projects like this in the past, it is very simple. You need to create a website formatted for a smaller screen. Once you do this, building an android app that displays your website inside it is simple. You can even remove all of the android browser toolbars so it appears as if your website is a real android application. Google android webviews, this will point you in the right direction.
See here for what's probably the best instruction page on how to do exactly that:
http://intelnav.50webs.com/app_project.html
It's based on a Webview, that is it opens the page and does all the navigation in the app window, not in the default browser. So if you want to open it in the browser, you have to use Intent, as said in previous answers.
My 2 pennies worth, I think it's better in the app window unless you really want complex navigation with the possibility of opening additional tabs, windows and so on. The drawback with the external browser is that, as far as I could see, there's no way to tell if the page is already open in the browser so you'll launch a different copy (in a new tab) every time. If the user doesn't close the tab at the end, they usually don't, it can become quite annoying. Besides, within an app you'll probably have somewhat better possibilities for ads should you ever want them.
Versus a simple home-screen bookmark, as others pointed out, it's simpler and more convenient for end users to just download an app from an online store (usually Google Play). It's what they're used to do. And they do have a lot of additional info available, like what it does, what others say about it, screen shots (if you provide some for them but you should). Plus a way to comment / complain themselves. It's a different thing. Technically it may not make a lot of sense but from a simple user's perspective it's clearly better IMO.
One way is to bookmark the site and then add it to your home screen. Source
It seems to me like you need a mobile version of your web page. Do you have that already? Once you have your mobile website (ie. website optimized for mobile devices), you could create a simple application with only one WebView. All content would be fetched from your site and displayed inside a webview. This is trivial to make, however, making an entire mobile website will take some time.
Note that you do not HAVE TO have a mobile website, you could pack you existing website into a WebView, but this would lower user experience.
you would build an app that launches a browser intent linking to your website, or a custom WebView to launch your website in full screen without any navigation bar etc..
The only easier way is to put instructions on your site (directly, or as a contextual pop-up) on how to add the bookmark as an icon on your home screen. This can be slightly more complicated on Android, and depends on the browser. A simpler option for your potential users is to provide a wrapper app via the Marketplace.
It is not overly complicated to create a simple wrapper Android app in Java that launches the browser, using Intents. The essential browser launch code is basically this:
Uri uriUrl = Uri.parse("http://www.yourwebpage.com");
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
startActivity(launchBrowser);
A more detailed tutorial for creating this is available here:
http://mobile.tutsplus.com/tutorials/android/launch-android-browser/
Try this kick-start mobile device app for showing websites. Written with cordova for platforms like android, ios, browser and so on: https://github.com/jetedonner/ch.kimhauser.cordova.kickstartwebsite (GooglePlay: https://play.google.com/store/apps/details?id=ch.kimhauser.cordova.kickstartwebsite, Website: http://kimhauser.ch/index.php/projects/cordova-phonegap/kick-start-website)

Categories

Resources