blackberryblackberry-eclipse-pluginblackberry-jdeshazam

open shazam from my blackberry application


I need the code open shazam(other intalled applications in the phone) if its installed. How can I check whether shazam is installed in a phone,and if installed how can I open it from my app?If any one have idea please help.Thanks in advace.


Solution

  • public static ApplicationDescriptor getApplicationDescriptor(String appName) {
        try {
            int[] moduleHandles = CodeModuleManager.getModuleHandles();
            if (moduleHandles != null && moduleHandles.length > 0) {
                for (int i = 0; i < moduleHandles.length; i++) {
                    ApplicationDescriptor[] applicationDescriptors = CodeModuleManager.getApplicationDescriptors(moduleHandles[i]);
                    if (applicationDescriptors != null && applicationDescriptors.length > 0) {
                        for (int j = 0; j < applicationDescriptors.length; j++) {
                            if (applicationDescriptors[j].getModuleName().toLowerCase().equals(appName.toLowerCase())) {
                                return applicationDescriptors[j];
                            }
                        }
                    }
                }
            }
        } catch (Exception e) {
            System.out.println("error at getApplicationDescriptor" + e);
        }
        return null;
    }
    
    public static int runApplication(String appName) {
        int processId = -1;
        ApplicationDescriptor appDescriptor = getApplicationDescriptor(appName);
        if (appDescriptor != null) {
            //is not null Application installed
            processId = ApplicationManager.getApplicationManager().getProcessId(appDescriptor);
            if (processId == -1) {
                // -1 if application has no process (i.e. is not running).
                try {
                    processId = ApplicationManager.getApplicationManager().runApplication(appDescriptor);
                } catch (ApplicationManagerException e) {
                    e.printStackTrace();
                }
            }
        }
        return processId;
    }
    

    call runApplication like

    int pid=-1;
        if((pid=runApplication(appName))>-1){
                //application running
                System.out.println(appName +" runing with process id "+pid);
            }