从活动1开始,我使用了意图
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("*/*");
try{
startActivityForResult(Intent.createChooser(i, "Pick a file"), REQUEST_CODE_UPLOAD_FILE_FOR_IMPORT);
}catch (android.content.ActivityNotFoundException ex){
Log.e("Error","FileManager not found!");
}
并处理URI并从文档中提取数据。一旦我这样做,我将提取的数据和URI传递给活动2,用户可以在其中查看数据。用户还可以选择从活动2打开原始文件,然后执行以下操作:
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, getUri());
PackageManager packageManager = activity.getPackageManager();
List activities = packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
boolean isIntentSafe = activities.size() > 0;
if(isIntentSafe){
startActivity(intent);
}
}
但是我选择的任何外部应用程序都会获得io Exception。如何让他们打开我的文件?
答案 0 :(得分:0)
看起来第二个应用没有权限来读取文件。
对于阅读电子表格,Google有相同的API。API Details或Spreadsheet Service可能对您有帮助。