Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android- launch another app from activity

Tags:

android

I want to create an activity that launches an external app (shazam for example) on button click. Is it possible? How can it be done?

Thanks!

like image 552
user2740785 Avatar asked Dec 24 '22 18:12

user2740785


1 Answers

You need other app package name (which can be checked using adb if you have this app installed)

adb shell cmd package list packages | grep shazam

or you can check it in Google Play app page -take look at URL: https://play.google.com/store/apps/details?id=com.shazam.android

Then just use following code (as context you will probably use your activity)

PackageManager pm = context.getPackageManager();
    Intent intent = pm.getLaunchIntentForPackage("com.shazam.android");
    if (intent != null) {
        context.startActivity(intent);
    }

or you can move it (as I would suggest) into separate method, e.g.

    public static void openApp(Context context, String appPackageName) {
    if (context == null) {
        Log.e("<Class name>","Context is null");
        return;
    }
    PackageManager pm = context.getPackageManager();
    Intent intent = pm.getLaunchIntentForPackage(appPackageName);
    if (intent != null) {
        context.startActivity(intent);
    }else{
        Log.e("<Class name>", "Cannot start app, appPackageName:'" + appPackageName + "'");
    }
}
like image 171
Paweł Rutkowski Avatar answered Jan 02 '23 04:01

Paweł Rutkowski