Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中为文件创建隐式意图_Java_Android - Fatal编程技术网

Java 如何在Android中为文件创建隐式意图

Java 如何在Android中为文件创建隐式意图,java,android,Java,Android,我在外部存储器上有一个XML文件,我有不同的应用程序可以打开这种文件格式 为了找到要打开XML文件的应用程序,我将发送这样的隐式意图: public static boolean isIntentAvailable(Context context, Intent intent) { List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, Pac

我在外部存储器上有一个
XML
文件,我有不同的应用程序可以打开这种文件格式

为了找到要打开
XML
文件的应用程序,我将发送这样的隐式意图:

public static boolean isIntentAvailable(Context context, Intent intent) {
    List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    return !list.isEmpty();
}

但它不起作用。。。我如何才能正确地创建此意图?

您可以这样做:

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);
    }
}

你可以这样做:

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);
    }
}