所以这是我的代码
public void onClick() {
try {
startActivity(Utils.openFile(f.getPath(),myExt));
}
catch(ActivityNotFoundException activityNotFoundException) {
Toast.makeText(mContext, "Nessuna App trovata", Toast.LENGTH_LONG).show();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://search?q="+myExt+"&c=apps"));
startActivity(intent);
}
我的Utils.openfile()在哪里
public static Intent openFile(String u,String b) {
File file = new File(u);
Intent target = new Intent(Intent.ACTION_VIEW);
target.setDataAndType(Uri.fromFile(file),"application/" + b);
target.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Intent intent = Intent.createChooser(target, "Apri File");
return intent;
}
现在如你所见,我想管理如果找不到任何可以打开我的文件的应用程序(pdf,mobi或epub)我想开始意图链接到Android市场并搜索任何应用程序..
但是,我不知道为什么,我的代码永远不会遇到异常,只是显示一个对话框,说“没有应用程序可以执行此操作”..我怎样才能管理并实现我的目标?
答案 0 :(得分:3)
尝试摆脱createChooser()
。毕竟,ACTION_VIEW
无论如何都不需要 - 如果用户为此MIME类型选择了默认值,请允许他们使用它。并且,选择器阻止您获得ActivityNotFoundException
,因为选择器是活动,并且它始终存在。