I'm making a mobile webpage that needs to have a bunch of links to various installed apps through the MDM. This is for managed devices and will launch both enterprise-internal apps and third-party. It does not need to do anything other than just launch.
I've been looking everywhere on how to make some simple basic links to simply launch the apps and nothing more.
I've tried some of the syntax below but it fails to actually open the installed app and instead just takes you to app store:
Take a QR code
<intent android:action="launch" >
<extra android:name="com.a14integrated.full" android:value="com.a14integrated.full" />
LAUNCH?
</intent>
UPDATE #1:
After more research I'm giving this up as it doesn't seem generically possible but rather something each app maker must implement themselves.
Not generically possible -- ended up requesting intents documentation from third-party apps and implementing our own intents strategy for deep-linking into the existing apps.
There are 2(as far as I know) possible ways to achieve this
Note - You would need access to the source code of the app you're trying to open for both the implementations
1. Integrate Deep links in the App to open the app if app is installed or visited the website otherwise.
2. Use firebase, add the app to the firebase and implement dynamic links.
Related
I have a client with two mobile apps. The first APP1 is built natively using Java and Objective-C. The second APP2 has been build using Unity.
Now the client wants to add a common functionality to both APP1 and APP2. The functionality is some new promo screens with user interaction to win credits.
I was considering to propose WebViews for this, however I came across to Progressive Web Apps.
I would like to ask whether is it possible to add a PWA in existing apps by properly initializing WebViews. I guess that the answer is 'yes'. But is there any benefit (apart from the caching) from using PWA instead of common HTML pages since the mobile app is already there?
Thank you!
A PWA is nothing more than a regular HTML webpage, which has added bonus functionality. Those bonus functionality is the incredible ease of install (if not on iOS, at least), and the offline capabilities.
The offline capabilities mostly means that the app will work (for the most part), even when no internet is available.
The easy install functionality means that if you open the site on Chrome for Android, you can "install" the app directly, without going through the app store. This doesn't work properly on iOS, however.
However, at the end a PWA is still just a webpage. This means that it is not just an app for iOS, or Android. It is an actual webpage, with an URL you can surf to. Installing a PWA just takes a local copy, and displays it in such a way that it looks like a native app.
So, in your case, there is no real bonus of making a PWA. If I read correctly, you just need to add a simple HTML page to both apps, right? You can make this a website, and then use WebView to navigate to it, sure. But there is no need to make it a PWA; it will just run in the native app itself.
I have been asked to make an iOS / Android app that simply opens a website on full screen.
I have told them that, by using the iOS / Android native option to "Add to Homescreen" would accomplish the needs, but they insist on making it completelly automatic for the end-user.
Am I doomed to make both Apps for this need? Is there any way to "automatically create" or "share" an already created homescreen shortcut?
Thanks for your time.
Yes, you are doomed to make two apps, but you can start with a cross platform framework that can output to both platforms, allowing you to write it once. From how you describe this project I recommend starting with Cordova.
As maddy points out in the comment, an app that simply displays a website will be rejected by Apple. Yet if you encapsulate them website inside Cordova app, where the app need not access the website, or only access a website for updated information you will probably be approved.
I use the Twitter app to follow a lot of news outlets. Each one of them posts links to articles on their websites. I want to open those articles in the news outlet's dedicated Android app. Some of them, like the NYTimes app, does it by itself. But most of them don't. I'm figuring that's because they haven't declared an intent in their app to do so. So basically I want to write an app that would give me an option to redirect the hyperlink of the article to a specific app, and I want to do it for multiple apps. Would it be possible to create a regex that would run on the URL and redirect it to the proper app accordingly?
Would it be possible to create a regex that would run on the URL
That is impossible to state in the abstract. Android's <intent-filter> system does not allow for filtering on all parts of a URL.
and redirect it to the proper app accordingly?
That is impossible to state in the abstract:
There is no requirement for the app for a news site to have any means for outside apps to tell it what to view
There is no requirement for an app's developers to document how to convert a Web site URL to whatever input would be available to tell the app to go view something
So, what you want may be possible for some news apps, but the details would vary by app.
Not that I am aware of - though this is an interesting concept.
Here are some things to know:
the twitter app doesn't care how the intent is resolved. the purpose of the intent is to share external data. once the twitter app has handed over the intent with the url it is up to the android system to decide which app can resolve.
the NY Times app is capable of opening because of this feature: https://developer.android.com/training/app-indexing/deep-linking.html
Workaround:
Learn to develop your own Android ROM to modify the Android Open Source Project adding your logic for intent resolution, compile and get your new Android ROM ready for deploy, install ROM on phone, keep your fingers crossed the entire time.
I am still new to custom URLs and deep linking, but I have not been able to find answers to what I'm looking for on other stackoverflow Q/As.
The context of my question is Android and iOS. My app is HTML5 in Sencha Touch, and uses plugins for native calls. So I need to figure this out for Android and iOS.
Here's the problem. Say I have a a document ID for an Evernote note, and I want my app to launch the Evernote app (assuming it's installed) and have that document open up, then how do I go about doing that? Specifically, how do I know what parameters and parameter names I need to pass to Evernote? Is there a way to "inspect" the Evernote app or do I need to get some official documentation from Evernote about what parameter names/values I can provide?
In my example above, we can replace that with something else as well. Say I have a file "doc.xls" that is in Google Drive. Assuming I have Google Drive app installed, how can I open the Google Drive app with "doc.xls" opened? How do I determine what parameters I need to (or can) pass while opening a native app?
I understand the idea of opening and launching other native apps; I have seen examples for Android and iOS but I cannot figure out how to determine the parameters - which is what my question is about.
Is there some general reading I should do on some particular topic to figure this out? Let me know if I can clarify anything about my question.
Thanks in advance for the help.
Mohammad
San Jose, CA
try this tutorial by sencha team
On the use of Custom Scheme URLs to launch App
http://docs.sencha.com/touch/2.1.1/#!/api/Ext.device.Device
you may also try the phonegap version.
https://github.com/EddyVerbruggen/Custom-URL-scheme
all the best Hope this is not too late..
I would like to do two things within my Android app :
Check if the Google Finance app is installed on the device. Should be pretty straighforward, isn't it ?
If yes, launch an intent to Open up Google Finance, displaying a graph on a particular Stock. So I also need to pass the stock ticker to Google Finance in some way... but is this even possible ?
Any other alternative I could use to display Stock Charts (let's say a 5 days intraday chart) on any stock ?
Thanks for your help.
I am not aware of there being any publicly-documented packages or Intents to achieve your aim, let alone an Intent that would meet your specific open-a-graph-on-a-stock request.
Since I am assuming you are looking for something that is free, I would look into launching the Browser (or perhaps using the WebView widget) on some existing Web-based finance site.
Unfortunately, very few intents with parameters are published and documented.
OpenIntents tries to collect some of them http://www.openintents.org/
Another way of finding available intents is to look at the AndroidManifest.xml of the deployed application (usually only compressed, not encrypted). Of course, this method discovers intents that may not be public and will change over time.
Recently came across ManifestExplorer https://www.isecpartners.com/manifest_explorer.html which I have built into an .apk at http://dl.dropbox.com/u/4379928/android/ManifestExplorer.apk
It allows you to see the AndroidManifest.xml of all installed applications.
The manfiest of com.google.android.apps.finance doesn't include any relevant intents.
However, it is interesting that it contains a data scheme for http://finance.google.com so that if you use the browser to navigate to this page it asks if you want to open it in the finance app instead.
Best way would probably be to follow the advice from CommonsWare