问题描述
如题,调用Android系统安装的软件打开文件时,当系统有安装相关软件时程序正常运行,但是当系统找不到该文件类型匹配的软件时就停止运行了。现在我想让它找不到相应软件时能提示用户,而不是直接停止运行,代码应该怎么写,求大神赐教!!!
解决方案1
或者捕捉startActivity的异常,但是这种方式比较粗暴。
解决方案2
try { //把你7楼的代码放在这里 } catch (Exception e) { //提示用户没有找到 }
解决方案3
何必呢,直接使用
// 获取PackageManager对象 PackageManager pm = this.getPackageManager(); // 设置<intent-filter>标签内需要满足的条件 Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_DEFAULT); if(intent.resolveActivity(pm)!=null){ startActivity(intent); }else{ //在这里处理没有可打开程序的事件 }
这样先通过 intent.resolve 查询事件可否处理,然后再启动事件,或者自行处理就好了
时间: 2024-12-19 03:16:00