Search code examples
androidandroid-intentpackageclassname

Opening Hik-Connect using Intent


I am using below code to open the app named : Hik-Connect as below :

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
            sharingIntent.setClassName("com.hikvision.hikconnect",
                    "CLASS NAME NEEDS TO PASS");
            sharingIntent.putExtra(Intent.EXTRA_TEXT, "GIT Cameras");
            startActivity(sharingIntent);

You can see am using the package name : com.hikvision.hikconnect.

What I have to pass as class name ?

Please guide me. How can I open this application using Intent in Android ?

The app link is as https://play.google.com/store/apps/details?id=com.hikvision.hikconnect&hl=en_IN

Thanks.


Solution

  • Use getLaunchIntentForPackage with target app's package name and resolveActivity, so you won't get ActivityNotFoundException -

    Intent intent = getPackageManager().getLaunchIntentForPackage("com.hikvision.hikconnect");
    
    if(intent.resolveActivity(context.getPackageManager()) != null){  //Open Hik-Connect app if installed
        startActivity(intent);
    }else { 
    //show toast or handle however you want
    }