我的应用程序有一些文档要显示。 该活动有一个按钮:'Open In'。 当我单击此按钮时,某些弹出窗口应显示为“使用完整操作”对话框,以列出支持该文档的应用程序。当我选择适当的应用程序时,只应显示带有该图标的文档。
我使用了以下代码。如果有多个应用程序支持该文档,它工作正常。但是如果只有一个应用程序,则文档直接打开而不显示弹出窗口。
如何使用'对话框始终显示'完整动作?
Intent docViewIntent = new Intent();
docViewIntent.setAction(Intent.ACTION_VIEW);
File file = new File("/sdcard/docs/myfile.pdf");
Uri fileUri = Uri.fromFile(file);
docViewIntent.setDataAndType(fileUri, "application/pdf");
docViewIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try
{
Intent chooser = Intent.createChooser(docViewIntent, "Choose application");
startActivity(chooser);
}
catch (ActivityNotFoundException e)
{
Toast.makeText(this, "No Application Available to View file", Toast.LENGTH_SHORT).show();
}
答案 0 :(得分:1)
您必须使用PackageManager
和queryIntentActivities()
中的数据实施自己的“选择器”式对话框(或以对话为主题的活动)。
从Android的角度来看,强迫用户点击他们唯一选择的选项是没有价值的,这就是为什么在单个匹配活动的情况下跳过选择器的原因。