You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Aditya Goel (JIRA)" <ji...@apache.org> on 2017/01/16 12:20:26 UTC

[jira] [Updated] (CB-12351) Code works as normal app but not as a launcher app

     [ https://issues.apache.org/jira/browse/CB-12351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aditya Goel updated CB-12351:
-----------------------------
    Security:     (was: Non-Public)

> Code works as normal app but not as a launcher app
> --------------------------------------------------
>
>                 Key: CB-12351
>                 URL: https://issues.apache.org/jira/browse/CB-12351
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android, Plugins
>    Affects Versions: 6.4.0
>         Environment: Android 4.4.2, Android Studio
>            Reporter: Aditya Goel
>            Priority: Blocker
>              Labels: easyfix, newbie
>   Original Estimate: 336h
>  Remaining Estimate: 336h
>
> Hi,
> Before starting, I wanted to say that this is the first time I am using jira support for Apache Cordova. I don't even know if this is the right place or if the issue I have is allowed here but I tried other means and found no help. This is a very critical issue for me, any help will be highly appreciated.
> I am making an Android Launcher using Cordova (let's call it myApp) and as every launcher it should have an apps drawer. Clicking on any app icon should launch that app.
> Let me now describe two scenarios.
> 1) Android launcher is the default launcher for the system and myApp is installed as just any other app. In this case the code works fine, that is, the other apps launch fine from the apps drawer in myApp.
> 2) myApp is the default launcher for the system. In this case, the code does not work, that is, the other apps do not launch from the apps drawer in myApp or may be they launch or close very very fast.
> This is the code I have:
> private void launchApp(final String packageName) {
>         final CordovaInterface mycordova = cordova;
>         final CordovaPlugin plugin = this;
>         Log.i("myApp", "Trying to launch app: " + packageName);
>         cordova.getThreadPool().execute(new Runnable() {
>             public void run() {
>                 try {
>                     Intent intent = new Intent("android.intent.action.MAIN");
>                     intent.addCategory("android.intent.category.LAUNCHER");
>                     final ComponentName cn = new ComponentName(packageName, cordova.getActivity().getApplicationContext().getPackageManager().getLaunchIntentForPackage(packageName).getComponent().getClassName());
>                     intent.setComponent(cn);
>                     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
>                     cordova.getActivity().getApplicationContext().startActivity(intent);
>                 } catch (ActivityNotFoundException e) {
>                     Log.e("myApp", "Error: Activity for package" + packageName + " was not found.");
>                     e.printStackTrace();
>                 } catch (Exception e) {
>                     Log.e("myApp", "Error: " + e.getMessage());
>                     e.printStackTrace();
>                 }
>             }
>         });
>     }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org