我的应用程序出现问题:在新的Adobe Reader DC发布之前,我将此代码用于打开的PDF文件,这些文件存储在我的" assets"我项目中的文件夹
SomeActivity.java
@Ovveride
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
AssetManager assetManager = getAssets();
File fileDir = getFilesDir();
OutputStream out = null;
try {
out = openFileOutput(fileDir.getName(), Context.MODE_WORLD_READABLE);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Context ctx = this;
//noinspection SimplifiableIfStatement
if (id == R.id.menu_tutorial)
Utility.loadPDF(assetManager,fileDir,out,ctx,"Tutorial.pdf");
if (id == R.id.menu_schedule) {
Utility.loadPDF(assetManager, fileDir, out, ctx, "Lavoro.pdf");
}
if (id == R.id.menu_table) {
Utility.loadPDF(assetManager, fileDir, out, ctx, "Tabella.pdf");
}
return super.onOptionsItemSelected(item);
}
Utility.java
public static void loadPDF (AssetManager assetManager ,File filesDir, OutputStream out, Context ctx, String path ) {
InputStream in = null;
File file = new File(filesDir, path);
try {
in = assetManager.open(path);
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch (Exception e) {
Log.e("tag", e.getMessage());
}
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + filesDir + "/" + path),"application/pdf");
ctx.startActivity(intent);
}
这非常有效,我可以通过点击这三个菜单选项中的一个来打开我想要的每个活动的PDF文件。
安装了新的Adobe Reader DC后,当我尝试以相同的方式打开相同的文件时,我从Adobe Reader DC收到此错误:"无法访问此文件。检查路径或网络,然后重试。"
我不知道新的Adobe应用程序是否有任何改变,但我不能再打开我的PDF文件。