我正在尝试从设备中解析一个简单的xls文件,这是我到目前为止编写的代码,但是我无法弄清为什么我的应用程序找不到我的文件。
这里是我到目前为止编写的代码
在resultActivity中:
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard, data.getData().getPath());
ParseFileAggiornamentoAsyncTask asyncTaskLetturaFile = new ParseFileAggiornamentoAsyncTask(MainActivity.this,file);
asyncTaskLetturaFile.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
除其他事项外,asynctask中有一个类似file.exist()
的控件,该控件始终返回false,因此我无法读取它和其他内容。
我做错了什么?
评论更新
这是触发我的startActivityForResult
的代码if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
MainConstant.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
}else {
Intent fileintent = new Intent(Intent.ACTION_GET_CONTENT);
fileintent.setType("*/*");
fileintent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(Intent.createChooser(fileintent, "Select a File to Upload"), PICKFILE_RESULT_CODE);
} catch (ActivityNotFoundException e) {
Toast.makeText(MainActivity.this, MainActivity.this.getString(R.string.generic_error), Toast.LENGTH_LONG).show();
Log.e("tag", "No activity can handle picking a file. Showing alternatives.");
}
return true;
}
答案 0 :(得分:0)
可能与清单相关,请参见https://developer.android.com/training/data-storage/files
您可能需要在清单中添加以下行
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
如果您已经拥有那些文件,那么使用文件的方法与其他文章中的相同。