Android Drive PDF Viewer, открытие с проблемой намерения - PullRequest
0 голосов
/ 21 октября 2018

В нашем коде есть фрагмент, чтобы показать пользователю сгенерированный документ PDF:

   public static final String PATH = FileUtils.buildPath(Environment.getExternalStorageDirectory().toString(), "temp.pdf"); // /sdcard/temp.pdf

  // ...
   File file = new File(PDFPrinter.PATH);
                if(file.exists() == true){
                    Uri uri = Uri.fromFile(file); 
                    Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
                    pdfIntent.setDataAndType(uri, "application/pdf");
                    pdfIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    getContext().startActivity(pdfIntent);
}

Но он не работает должным образом с обычным средством просмотра PDF Drive, иногда он не открывает вновь созданную версию документа,но показывает пользователю предыдущий.Почему это произошло?


Я нашел исправление, чтобы добавить еще один флаг

                pdfIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                pdfIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //+

, но я не могу понять, почему это работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...