我想为OCR实现一个Android文件选择器。
我有来自此网站的源代码:here
我想要的是使用意图调用FileChooser
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
活动,对于给定路径,我可以创建位图图像(缓冲图像)?
答案 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();
}
}