Android java:分类Uri文本和图像



问题是如何分类当我选择文本文件/图像文件它显示我打开文本文件应用程序或打开图像应用程序。这实际上类似于文件资源管理器。我不知道怎么分类所以我把两个放在一起。可惜的是,结果不是我想要的。所以我在这里请求帮助=)

代码如下:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    FileInfo fileDescriptor = fileArrayListAdapter.getItem(position);
    if (fileDescriptor.isFolder() || fileDescriptor.isParent()) {
        currentFolder = new File(fileDescriptor.getPath());
        fill(currentFolder);
    } else {
        fileSelected = new File(fileDescriptor.getPath());
        Intent intent = new Intent();
        intent.putExtra(Constants.KEY_FILE_SELECTED,
                fileSelected.getAbsolutePath());
        setResult(Activity.RESULT_OK, intent);
        Log.i("FILE CHOOSER", "result ok");
        //finish();
        intent.setAction(android.content.Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(fileSelected), "text/*");
        intent.setAction(android.content.Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(fileSelected), "image/*");
        startActivity(intent); 
    //  Intent intent = new Intent();

    }

这不是100%,但一般的方法是看文件的扩展名,.jpg, .gif, .png, .bmp等是图像文件,.rtf, .txt等是文本文件。根据扩展名选择mime类型。MimeTypeMap.getMimeTypeFromExtension()也许能帮上忙。

最新更新