答案 0 :(得分:0)
您可以启动一个意图,允许用户选择使用以下代码打开PDF的应用程序,该代码适用于任何文件和mimetype。如果用户没有可以打开它的应用程序,则可以显示错误或执行您需要执行的任何操作。
请注意,该文件必须是世界可读的,因此如果文件位于内部存储上,则必须标记为文件,或者必须位于外部存储中。
private void openFile(File f, String mimeType)
{
Intent viewIntent = new Intent();
viewIntent.setAction(Intent.ACTION_VIEW);
viewIntent.setDataAndType(Uri.fromFile(file), mimeType);
// using the packagemanager to query is faster than trying startActivity
// and catching the activity not found exception, which causes a stack unwind.
List<ResolveInfo> resolved = getPackageManager().queryIntentActivities(viewIntent, 0);
if(resolved != null && resolved.size() > 0)
{
startActivity(viewIntent);
}
else
{
// notify the user they can't open it.
}
}