У меня есть имя активности из стороннего приложения
"com.example.packagename.MainActivity"
Как программно получить имя пакета этого стороннего приложения?
PS: Я даже не уверен, что это Активность. Это может быть неправильная строка.
Вы можете найти имя пакета из внешнего приложения:
private String getExternalPackageName(String appname) { PackageManager pm = thisActivity.getPackageManager(); List<ApplicationInfo> aList = pm.getInstalledApplications(PackageManager.GET_META_DATA); String aName = ""; for (ApplicationInfo appi : aList) { String n = (String)pm.getApplicationLabel(appi); if (n.toUpperCase().contains(appname)) { aName = appi.packageName; } } return aName; }
обязательно вызовите эту функцию с appname => uppercase