Определите, установлен ли astro (или другие файловые менеджеры) в Android или нет
Я хотел бы определить, установлен ли какой-либо файловый менеджер или нет. Если не установлено, предложите пользователю установить один.
1 ответ
Чтобы делать то, что вы хотите, вы должны знать имя действия Launch и имя пакета для каждого файлового менеджера, который вы хотите проверить. После этого вы можете сделать что-то вроде этого:
String packageName = "com.metago.astro"
String activityName = packageName+"."+[LaunchActivityName];
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.setComponent(new ComponentName(packageName, activityName));
intent.addCategory("android.intent.category.LAUNCHER");
List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
if(list.size() > 0){
startActivity(intent);
}else{
String googlePlayURL= "market://details?id=" + packageName;
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(googlePlayURL)));
}