How do I programmatically launch a specific application?

后端 未结 10 684
余生分开走
余生分开走 2020-11-29 03:43

I want to launch a specif application.

I know how to do Intents but I want to avoid the selection menu if there are multiple apps that can handle the intent, I want

10条回答
  •  眼角桃花
    2020-11-29 04:18

    in oncreate method call => openApp(); method

    private void openApp() {
        String packageName = "com.google.android.gm";
        if (isAppInstalled(activity, packageName))
            startActivity(getPackageManager().getLaunchIntentForPackage(packageName));
        else Toast.makeText(activity, "App not installed", Toast.LENGTH_SHORT).show();
    }
    
    public static boolean isAppInstalled(Activity activity, String packageName) {
        PackageManager pm = activity.getPackageManager();
        try {
            pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
        }
        return false;
    }
    

提交回复
热议问题