如何使用外部应用程序处理无法在Android中打开文件

时间:2016-11-26 07:58:59

标签: java android java-io

var trigger = $('.sidebarMenuWrapper ul li a'), container = $('#container');
trigger.on('click', function (e) {
       e.preventDefault();
       var $this = $(this), target = $this.attr('href');       
       $.ajax({
           url: target,
           type: 'GET',
           dataType: 'html',
           async: false,
           success: function (result) {
               $('#container').html(result);
           }
       });

   });

我正在尝试使用Android中的外部应用程序打开PDF,如果文件已完全下载,它将打开并显示PDF文件。 如果文件为空或已损坏,我想删除该文件并重新下载。

但我无法处理

  

异常“文档无法打开”。

2 个答案:

答案 0 :(得分:0)

  

但我无法处理   例外情况“文件无法打开”。

这很可能是因为它在您显示的代码段之外,downloadFile()是可能的代码。如果是这样,则需要try/catch(或至少约downloadFile()方法调用)。在catch()中,不会让你自动捕获任何后续异常。

答案 1 :(得分:0)

您的pdf文件格式不正确,因此无法打开或者没有可用的应用程序支持打开pdf。

让我们检查这个文件是否检查文件是否存在以及文件是否存在然后检查所有具有ACTION_VIEW意图过滤器的应用程序。

try {
            File file = new File(s);
            if (file.exists()) {
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(file));
                startActivity(intent);
            } else {
                downloadFile(file);
            }
        } catch (Exception e) {
            file.delete();
            downloadFile(file);
        }