有没有办法在ARC上实现本地文件访问?据我所知Chrome是沙盒,所以访问会很难,但似乎定义的android数据目录可能有一个特定的文件夹用于文件访问?
答案 0 :(得分:5)
是的,ARC上的应用程序是沙箱,无法访问本地文件系统。
但是,您可以通过使用特定Intent启动Activity来访问本地文件系统上的文件:ACTION_GET_CONTENT用于读取文件,ACTION_SEND用于保存文件。
e.g。如果您想从本地文件系统打开图像文件,
private static int REQUEST_CODE = 5;
private void requestImageFile() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, REQUEST_CODE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE) {
ImageView imgView = new ImageView(this);
imgView.setImageURI(data.getData());
setContentView(imgView);
}
}
答案 1 :(得分:0)
ARC应用程序可能有权访问OS文件系统(通过浏览器文件选择器),但无法修改它们,即ARC将首先将这些项目复制到其他位置,并使用副本而不是原始文件提供应用程序
进一步阅读: