如何让所有可以打开文件的应用程序到arrayList

how to get all the apps that can open file to arrayList

如何获取所有可以打开文件到 ArrayList 的应用程序? 我正在使用此代码打开文件:-

         Intent i888777 = new Intent;
    Uri ur888 = (Uri.fromFile(new java.io.File(_path)));
    i888777.setAction(Intent.ACTION_VIEW);
    i888777.setDataAndType(ur888,_type);
startActivity(Intent.createChooser(i888777,_msg));

preview

而不是调用 startActivity 只需使用 queryIntentActivities

PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(i888777,
    PackageManager.MATCH_DEFAULT_ONLY);

您也可以尝试使用 MATCH_ALL 标志或任何您需要的东西。在 DOC

中还有更多需要检查的内容