我正在尝试使用intent在外部存储中打开文件,但我不知道为什么它会显示我 could not find item !
我也在不同的文件上尝试过,但它做的是相同的,我在manifest中使用的权限
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
File temp = new File(address,mylist.get(position));
if (temp.isFile()){
//Toast.makeText(getApplicationContext(),"This is File !!",Toast.LENGTH_SHORT).show();
String sfile = temp.getPath();
Uri uri = Uri.parse(sfile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setType("image/*");
intent.putExtra(Intent.ACTION_VIEW,uri);
startActivity(Intent.createChooser(intent,"Open file"));
}else {
ref(address+"/"+mylist.get(position).toString());
}
}
1条答案
按热度按时间6kkfgxo01#
你能出示样品吗
address
值(文件的路径)?您可能将文件保存在某个限制区域(例如,应用程序的私人数据文件夹),您必须提供FileProvider
和格兰特Uri
对另一个应用程序的访问权限,以允许它使用您的应用程序文件夹。一些文件和样品在这里和这里假设
could not find item !
Toast
不是来自你的应用程序(我没有看到这样的代码)-它可能会被另一个应用程序显示,它只是无法访问File
以上都假设File
存在于适当的目录中(两者都是isFile()
以及exists()
退货true
) :)