Android的Java的:分类乌里文字和图片 [英] Android java : classify Uri text and image

查看:163
本文介绍了Android的Java的:分类乌里文字和图片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题是如何当我选择文本文件/图片文件进行分类就告诉我打开文本文件的应用程序或打开的图像应用程序。这实际上是类似像资源管理器。我不知道分类,所以我把两者结合起来。不幸的是,结果不是我想要的。所以我问这里寻求帮助=)

以下是编码

  @覆盖
保护无效onListItemClick(ListView中升,视图V,INT位置,长的id){    super.onListItemClick(L,V,位置ID);
    FileInfo的文件描述符= fileArrayListAdapter.getItem(位置);
    如果(fileDescriptor.isFolder()|| fileDescriptor.isParent()){
        currentFolder =新的文件(fileDescriptor.getPath());
        填写(currentFolder);
    }其他{        fileSelected =新的文件(fileDescriptor.getPath());
        意向意图=新的Intent();
        intent.putExtra(Constants.KEY_FILE_SELECTED,
                fileSelected.getAbsolutePath());
        的setResult(Activity.RESULT_OK,意向);
        Log.i(文件选择,结果OK);
        //完();
        intent.setAction(android.content.Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(fileSelected),文/ *);
        intent.setAction(android.content.Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(fileSelected),图像/ *);
        startActivity(意向);
    //意向意图=新的Intent();    }


解决方案

它不是100%,但一般的方法是查看文件的延伸。个.jpg,.gif .PNG,.BMP等都是图像文件。 .RTF,.TXT等是文本文件。选择基础上延伸的MIME类型。 MimeTypeMap.getMimeTypeFromExtension()也许能够提供帮助。

The problem is how to classify when I select text file / image file it show me open text file apps or open image apps. This is actually similar like File Explorer. I don't know to classify it so I put two together. Unfortunately, the result is not I want. So I asking here for help =)

The following is the coding:

@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();



    }

解决方案

Its not 100%, but the general way is to look at the extention of the file. .jpg, .gif, .png, .bmp, etc are image files. .rtf, .txt, etc are text files. Choose the mime type based on the extention. MimeTypeMap.getMimeTypeFromExtension() may be able to help.

这篇关于Android的Java的:分类乌里文字和图片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆