Chrome Packaged Apps: Opening another app - google-chrome-app

I am wondering whether there is any JS API to start another chrome app on button click event in a chrome packaged app.

As a general rule, no, you can't invoke another app.
However, if you control both apps, you can set the second app to expect an external message.
You can add chrome.runtime.onMessageExternal listener to the second app's event page script, and send a message with the app ID from the first to wake the second app and launch the app window. See this for more details.
In general, an extension can do this task and more thanks to the management API. It is, however, unavailable for Apps as of now.
Feature request to add this API for apps: #455550

Related

forge.tabs tab closed on iOS when app is send to background

We are using trigger.io (2.1.0) in our mobile app and are opening the LinkedIn OAUTH dialog in a forge.tabs window (using forge.tabs 2.6).
LinkedIn sends Authorisation Mails to Users when they authorise an app for the first time and the user has to enter an authorisation code he received via email in the view we opened in the forge.tab.
Unfortunately the tab in which we show the dialog is closed on iOS (iOS 7.0.4 here) when the app is sent to the background when the user switches to his mail app to get the code.
The user returns to the app and can't enter the code he just received. If he reopens the linked in authorisation dialog the code he just copied is not valid anymore (he is sent a new one).
How do we prevent the tab from being closed when the app is sent to the background?
Best regards,
Richard
Official fix is in launchimage v2.3
Thank you to everyone who contributed to this question.
We found the offender: The trigger launch image module seems to interfere with the trigger tabs module.
We stripped the project down to the last bits (load the tabs module only) and ended up with a plain html file which opens a trigger forge.tab when you click on a button.
Here the tab will persist even if you send the app to the background.
We found out that the trigger launch image module causes this behaviour - as soon as you add the module the trigger tabs vanish when the app is backgrounded.
We can confirm that the launch image module closes all modal dialogs when the app is backgrounded - we forked the module and will try to fix it.
As long as you want to use the launchimage module, the Trigger.io tab will always close when the app loses focus. See Richard's answer for more information.
A good workaround is to use Mobile Safari for the authentication process. After the authentication is finished you can make use of Trigger.io's URL scheme module to forward the user back to your app automatically.
Positive side-effect: the user might already be logged in on his Mobile Safari.

How to group iphone apps under one main iphone app?

My requirement is to click one main iphone apps and the next page shows a listing of apps that provide different services. Eg. My main apps is called Company Name apps and when user clicks it open up others app like leave application apps, claim application apps etc. How do I implement that? When send to iphone app store, I only send the main apps and when user download, all the apps like leave, claim apps are also downloaded?
Once application package works as a Single Atomic Application.
com.company.application .
You can add and combine functionality of all application as classes with in one application but like .NET or Jave you can not call other applications from with in one application.
You can further add functionality with in main application which type of user has access to which feature might be some sort of profile services on your server which saves user information.
You can launch other your applications from main if you will specify in other applications URL schemes on which applications will response. For example if you will type skype://ddhhdj in your mobile Safari, than Skype will be launched.

Return to app from safari

In my application, I redirect the user to the safari browser when he/she taps on a button, which in turn closes the application and opens the safari browser. There is no problem in that. It works fine. The thing is when the user quits the safari browser, I want to redirect the user back to the application, not the home screen. Any idea please...
If you control the website that you are redirecting them to, then you can place a link on the site using custom URL which I describe in more details below. But if it's a site you don't control, you can have the user surf within your app using the UIWebView.
For an iOS app, you can create custom URL schemes that your app register with the system. Then on the web page you would create a link using that custom URL. That is how Apple launches the telephone.app or the mail.app from mobile safari.
For example: Let say your app is call BigBadApp. You custom URL would be: bigbadapp:// Now, you could create a link to your app would be: Launch BigBadApp You can pass any kind of information back to your app using the custom URL and your app will handle that information in the app delegate. For iOS 4.2 and later: application:openURL:sourceApplication:annotation:. The name of old delegate on earlier version of iOS is application:handleOpenURL:
For more information see check Apple Implementing Custom URL Schemes.
Also iOS developer:tips has a tutorial on Launching Your Own Application via a Custom URL Scheme.
You can't. When you redirect someone out of your application the only way to get back is using the task switcher or opening your application from the home screen again.
If you want to keep the user in your application you could open the web pages in a webview within your application
use UIwebViewController . that represent web link within app . so that your app wont be in back ground and add back button in navigation bar on click back button navigate to back screen . i guess it would be better
i would launch an in app browser...
this is a good uiviewcontroller subclass that has most of the browser functions already implemented. its very easy to use.
https://github.com/samvermette/SVWebViewController

Automatically Restart WebApp after a phone call on an iPhone

I have an iPhone WebApp that is installed to the home page. When a phone call comes in or an email is sent it brings up either the phone screen or the email screen. After the user finishes the phone call or email, is it possible to automatically bring up the same web application that was previously open?
No. Also native apps can't do this consistently (only for incoming, but not for outgoing calls the app will be launched again; e-mail can be sent from within the app).
Kevin, yes it can be done with some effort. What you want is HTML5 local storage and perhaps HTML5 application caching as well.
What you do is not unlike what a pre-multitasking iPhone native app would do: you store the application state in the local storage and use it on launch to restore state. I don't believe you have hooks on termination so you'll have to store the state at every state transition, as it happens.

Attach XCode Debugger

I'm developing an iPhone app that needs a web login.
As usual I call
[[UIApplication sharedApplication] openURL:loginURL];
This close the app and calls the login page inside Safari.
Once logged, the app is opened once again using a callback address and the iPhone URL registration feature.
The question here is:
Since the app is closed when I call Safari, the debug stops. How can I continue the debug?
Thanks
You can, however, get XCode to connect to an application the next time it's launched. You bring up the inspector on your executable and check the "Wait for next launch/push notification" box. This is explained in more detail here.
The other alternative would be to use a UIWebView inside your app rather than switching to Safari.