2

如标题所述。

你会如何解决这个问题?

我不想破解 Android 来安装市场和多个应用程序。

但另一方面,我确实必须测试我的应用程序的“打开方式”功能,我目前无法触发该功能,因为没有 2 个相同的应用程序可以打开某种文件。

注意:我没有真正的手机。

我指的代码是这样的(当用户单击文件时):

    ...
    Intent intnt = new Intent(Intent.ACTION_VIEW);
    Uri uri = Uri.fromFile(f);

    String mime = General.getMimeType(full_path);
    intnt.setDataAndType(uri, mime);

    intnt.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    try {
        startActivity(intnt);

    } catch (ActivityNotFoundException e) {
        Toast.makeText(ctx, 
            "No Application Available to View ...", 
            Toast.LENGTH_SHORT).show();
    }
    finish();

基本上问题是,当前当我单击图像/音乐文件时,应用程序会自动启动(没有打开窗口)。

而且我无法禁用这些文件的默认应用程序,因为它们是唯一可以运行它们的应用程序。

4

2 回答 2

3

您可以使用 mime 类型*/*,它会显示打开窗口:

intnt.setDataAndType(uri, "*/*");

与所有已安装的应用程序。

于 2013-01-14T13:50:03.140 回答
2

创建一个响应ACTION_VIEW Intent所需 MIME 类型的测试应用程序,并将其安装在设备上。

ACTION_VIEW Intent或者,找到可以响应所需 MIME 类型的开源应用程序,并将它们安装在设备上。

于 2013-01-14T13:47:03.893 回答