Открытие Hik-Connect с помощью Intent - PullRequest
1 голос
/ 05 октября 2019

Я использую приведенный ниже код для открытия приложения с именем: Hik-Connect , как показано ниже:

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);

Вы можете видеть, что я использую имя пакета: com.hikvision.hikconnect .

Что я должен передать в качестве имени класса?

Пожалуйста, ведите меня. Как я могу открыть это приложение, используя Intent в Android?

Ссылка на приложение: https://play.google.com/store/apps/details?id=com.hikvision.hikconnect&hl=en_IN

Спасибо.

Ответы [ 2 ]

2 голосов
/ 17 октября 2019

Используйте getLaunchIntentForPackage с именем пакета целевого приложения и resolveActivity, поэтому вы не получите 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
}
0 голосов
/ 15 октября 2019

Вы можете сделать это без имени класса. В PackageManager есть метод getLaunchIntentForPackage ()

getLaunchIntentForPackage ()

Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("com.hikvision.hikconnect")
startActivity(launchIntent)
...