安卓用intent打开指定格式文件时该格式软件未安装的问题
如题,比如说,我想打开word文件,直接写了如下的代码,个人认为下述代码是默认已经有了word软件
private void startEditTemplate(String filePath) {
Intent intent = new Intent("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.fromFile(new File(filePath));
intent.setDataAndType(uri, "application/msword");
ComposeMailActivity.this.startActivityForResult(intent,
REQUEST_EDIT_CONTENT);
}
但是,如果没有安装word软件呢,这段代码会怎么样呢,实际测试是崩溃了,有什么方法可以分辨出是否安装了word软件呢?难道只能捕获异常?
[解决办法]
先通过packagenamager的函数,判断是否安装了word,如果安装了就启动,如果没有就不发intent出去
[解决办法]
你可以在打开文件前测试一下,是否已经有软件支持你指定的格式。。。
详询:getPackageManager().queryIntentActivities。。。