我有一个应用程序,可以构建一个已安装在Android机器上的指定文件夹中所有PDF的listView。文件路径和名称存储在名为files[]
的数组中,我可以使用files[e.Position]
获取完整路径。
这是我的C#代码
public void documentListView_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
var bytes = File.ReadAllBytes(files[e.Position]);
Android.Net.Uri pdfPath = Android.Net.Uri.Parse(files[e.Position]);
Intent intent = new Intent(Intent.ActionView);
intent.SetDataAndType(pdfPath, "application/pdf");
intent.SetFlags(ActivityFlags.NewTask);
StartActivity(intent);
}
我还将此添加到我的清单中:
<uses-persmission android:name="android.permissions.READ_EXTERNAL_STORAGE" />
<uses-persmission android:name="android.permissions.WRITE_EXTERNAL_STORAGE" />
每次点击按钮,它都会开始打开adobe(很棒)然后会显示This file could not be accessed
。
但是,我可以通过转到该文件夹直接打开文件。有任何想法吗?
P.S。我已经检查了[e.Position]解析的文件,它是正确的/mnt/sdcard/PLA/testpdt.pdf
。