Android文件选择器返回主类的路径

时间:2011-11-17 03:13:10

标签: image-processing android-intent bufferedimage

我想为OCR实现一个Android文件选择器。

我有来自此网站的源代码:here

我想要的是使用意图调用FileChooser

创建一个主Activity
public class MainFileChooser extends Activity {
    Button btnBrowse =null;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.utama);

        btnBrowse = (Button)findViewById(R.id.btnBrowse);
        btnBrowse.setOnClickListener(new OnClickListener(){

            public void onClick(View arg0) {
                Intent intent = new Intent();
                intent.setClass(MainFileChooser.this, FileChooser.class);
                startActivity(intent);


            }

        });
    }

}

单击该按钮时,它将链接到FileChooser,然后在单击某个图块时,该活动将返回到MainFileChooser并返回文件路径。

将为OCR处理文件路径,例如转换为灰度,特征提取等。

问题是如何将图像路径返回到MainFileChooser活动,对于给定路径,我可以创建位图图像(缓冲图像)?

1 个答案:

答案 0 :(得分:1)

与建议的FileChooser源代码一样,您可以修改onFileClick以返回图片路径:

private void onFileClick(Option o) {
  String path = o.getName();
  Intent data = new Intent();
  data.putExtra("path", path);
  setResult(Activity.RESULT_OK, data);
  finish();
}

然后,在MainFileChooser,而不是startActivity,使用startActivityForResult

setActivityForResult(intent, 1234);

您还需要将onActivityResult添加到MainFileChooser以获取文件名:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (resultCode == Activity.RESULT_OK && requestCode == 1234) {
     String path = data.getStringExtra("path");
     Toast.makeText(this, "Path: " + path, Toast.LENGTH_SHORT).show();
  }
}