Определите, установлен ли 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)));
}
Другие вопросы по тегам