1

我有这个代码,我有半工作。我希望它拉出一个文件选择器,然后将选择的文件返回为可操作的格式。也许FileString

我阅读了有关如何调用它的 Android 文档,但我仍然不了解意图以及如何使用它们。

我习惯于调用一个函数,然后将返回值设置为一个变量并从那里开始工作。

我不知道如何设置它才能做到这一点。我知道有些用户可能没有文件浏览器,但我所有的用户都会。

那么如何让这段代码发挥作用呢?当它返回时,它现在什么都不做。

chooseFileButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            EditText enterZipEditText = (EditText) findViewById(R.id.enterZipEditText);
            Intent intent = new Intent();  
            intent.setType("zip/*");  
            intent.setAction(Intent.ACTION_GET_CONTENT);  
            startActivityForResult(Intent.createChooser(intent, "Choose File"), REQUEST_CODE);
        }
    });
4

2 回答 2

2

如果您要处理返回的文件名,您可能需要添加回调:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1) {
        if (resultCode == Activity.RESULT_OK) {
            // Do Stuff
            String file = data.getData().getPath();
        }
    }
}
于 2012-08-08T04:51:53.750 回答
0

您可以尝试以下方法:

@Override
public void onClick(View v) {
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    intent.setType("zip/*"); 
    intent.addCategory(Intent.CATEGORY_OPENABLE);

    try {
        startActivityForResult(
                Intent.createChooser(intent, "Select a File to Upload"),
                FILE_SELECT_CODE);
     } catch (android.content.ActivityNotFoundException ex) {
        //Handle error.
     }
    }
});

看看这是否有效。您可以找到有关我发现的这个SO 问题的更多信息。

于 2012-08-08T04:16:56.620 回答