我有一个不同类型文件的列表,例如 pdf、音频(mp3)、视频等。我想使用支持查看器或应用程序的列表项的 onClick 事件打开这些文件。例如,如果所选文件是视频文件,则会出现一个对话框,其中包含已安装的列表以及默认视频播放器,如下所示:
谁能帮助或指导我如何做到这一点?
我有一个不同类型文件的列表,例如 pdf、音频(mp3)、视频等。我想使用支持查看器或应用程序的列表项的 onClick 事件打开这些文件。例如,如果所选文件是视频文件,则会出现一个对话框,其中包含已安装的列表以及默认视频播放器,如下所示:
谁能帮助或指导我如何做到这一点?
您应该实现一个选择器,如下例所示,
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");//TYPE OF THE CONTENTS,this is for text
shareIntent.putExtra(Intent.EXTRA_TEXT, noteTitle);//PUT THE EXTRA
//THIS IS THE LOGIC FOR THE CHOOSER
Intent chooser = Intent.createChooser(shareIntent,getString(R.string.share_dialog_title));
PackageManager manager = getPackageManager();
List<ResolveInfo> activities = manager.queryIntentActivities(chooser, 0);
if(activities.size() > 0) {
startActivity(chooser);
} else {
Toast.makeText(NoteListActivity.this, R.string.no_activities_for_action, Toast.LENGTH_LONG).show();
}
}
编辑还检查这个问题,并将我的答案与这个问题的答案结合起来,你会得到结果Launching an intent for file and MIME type?