Android 当我点击按钮时,它应该链接到FileManager(myfiles)并从中选择数据(txt/文档)

Android 当我点击按钮时,它应该链接到FileManager(myfiles)并从中选择数据(txt/文档),android,Android,在下面的代码中,当我单击按钮时,它将链接到图库并从中选择图像/视频,但我希望,按钮重定向到FileManager并从中选择txt文件。请帮忙 public class MainActivity extends Activity { Button b1; private static final int SELECT_PHOTO = 100; @Override protected void onCreate(Bundle savedInstanceState) {

在下面的代码中,当我单击
按钮时,它将链接到
图库
并从中选择图像/视频,但我希望,
按钮
重定向到FileManager并从中选择txt文件。请帮忙

public class MainActivity extends Activity {
Button b1;
private static final int SELECT_PHOTO = 100;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b1= (Button)findViewById(R.id.button1);
        b1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
                photoPickerIntent.setType("image/*");
                //photoPickerIntent.setType("Document/*");
                //int SELECT_PHOTO;
                startActivityForResult(photoPickerIntent, SELECT_PHOTO);    
            }
        });

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
        super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

        switch(requestCode) { 
        case SELECT_PHOTO:
            if(resultCode == RESULT_OK){  
                Uri selectedImage = imageReturnedIntent.getData();
              //  String[] filePathColumn = {MediaStore.Images.Media.DATA};
                String[] filePathColumn = {Environment.getExternalStorageDirectory().getAbsolutePath()};

                Cursor cursor = getContentResolver().query(
                                   selectedImage, filePathColumn, null, null, null);
                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                String filePath = cursor.getString(columnIndex);
                Intent i =new Intent(getApplication(), Activity2.class);
                i.putExtra("path",filePath );
                startActivity(i);
                Log.d("Here", filePath);
                cursor.close();
               // Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);
                System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<,>>>>>>>>>>>>>>>>>>>>>>>>>>>");
            }
        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}
公共类MainActivity扩展活动{
按钮b1;
私人静态最终整数选择_PHOTO=100;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(按钮)findViewById(R.id.button1);
b1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
意向照片采集器内容=新意向(意向.行动\u采集器);
photopickerinent.setType(“image/*”);
//photopickerinent.setType(“Document/*”);
//int选择_照片;
startActivityForResult(照片采集器内容,选择照片);
}
});
}
@凌驾
ActivityResult上受保护的void(int-requestCode、int-resultCode、Intent-imageReturnedIntent){
super.onActivityResult(请求代码、结果代码、图像返回内容);
开关(请求代码){
案例选择图片:
如果(resultCode==RESULT_OK){
Uri selectedImage=imageReturnedIntent.getData();
//字符串[]filePathColumn={MediaStore.Images.Media.DATA};
String[]filePathColumn={Environment.getExternalStorageDirectory().getAbsolutePath()};
Cursor Cursor=getContentResolver().query(
选择图像、文件路径列、null、null、null);
cursor.moveToFirst();
int columnIndex=cursor.getColumnIndex(filePathColumn[0]);
String filePath=cursor.getString(columnIndex);
意图i=新意图(getApplication(),Activity2.class);
i、 putExtra(“路径”,filePath);
星触觉(i);
Log.d(“此处”,文件路径);
cursor.close();
//位图您选择的edimage=BitmapFactory.decodeFile(文件路径);

System.out.println(“使用此代码来实现目标

if (Build.VERSION.SDK_INT < 19) {
        Intent intent = new Intent();
        intent.setType("image/jpeg");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent, "Select Image."),
        GALLERY_INTENT_CALLED);
        } 
else {
        Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("image/jpeg");
        startActivityForResult(intent,
        GALLERY_KITKAT_INTENT_CALLED);
        }
这样试试
public String getPath(Uri uri) {
        if( uri == null ) {
            return null;
        }
        String[] projection = { MediaStore.Images.Media.DATA };
        @SuppressWarnings("deprecation")
        Cursor cursor = getActivity().managedQuery(uri, projection, null, null, null);
        if( cursor != null ){
            int column_index = cursor
            .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        }
        return uri.getPath();
}


if (requestCode == GALLERY_INTENT_CALLED
                && resultCode == Activity.RESULT_OK) {
            originalUri = data.getData();
            selectedImagePath = getPath(originalUri);
            cropImageView.setImageBitmap(BitmapFactory.decodeFile(selectedImagePath));
            System.out.println("GALLERY_INTENT_CALLED : "
                    + originalUri.getPath());
        } else if (requestCode == GALLERY_KITKAT_INTENT_CALLED
                && resultCode == Activity.RESULT_OK) {
            originalUri = data.getData();
            ParcelFileDescriptor parcelFileDescriptor;
            try {
                parcelFileDescriptor = getActivity().getContentResolver().openFileDescriptor(originalUri, "r");
                FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
                Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor);
                parcelFileDescriptor.close();
                cropImageView.setImageBitmap(image);

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }