我在外部存储上有一个 XML
文件,我有不同的应用程序可以打开这种文件格式。
我将发送这样的隐式 Intent ,以便找到打开 XML
文件的应用程序:
public static boolean isIntentAvailable(Context context, Intent intent) {
List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
return !list.isEmpty();
}
这个方法有两个参数。问题是如何为第二个参数创建 intent
?
我只有我需要打开的文件路径,我试过这种方式:
Intent intent = new Intent(**path to file**);
但它不起作用...我如何才能正确创建此 Intent?
最佳答案
你可以这样做:
File file = new File("path to file");
//checking if the File exists
if (file.exists()) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "text/xml");
//checking if an Activity exists that can handle this Intent
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
关于java - 如何在 Android 中为文件创建隐式 Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37805923/