2015-07-09 4 views
0

Я хочу открыть pdf-файл из моего приложения Android в внешнем просмотре. Когда я установил Acrobat Reader, все работает отлично. Но когда считыватель Acrobar не установлен, он не может найти зрителя. Но другое приложение на том же устройстве способно открыть pdf-файлы на Google Диске. Я тоже хочу этого поведения. Что я должен делать, что это работает для моего приложения?Открыть pdf extern из приложения для Android без чтения acrobat

Так я открываю PDFs на данный момент:

 final Intent intent = new Intent(Intent.ACTION_VIEW); 
     String extension = fileName.substring(fileName.lastIndexOf('.')); 
     intent.setDataAndType(Uri.fromFile(new File("fileName")), "application/pdf"); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
     if (!this.context.getPackageManager() 
       .queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).isEmpty()) { 
      startActivity(intent); 
      finish(); 
     } 

ответ

0

Попробуйте использовать Intent.createChooser(): http://developer.android.com/training/basics/intents/sending.html#AppChooser

Intent intent=...//your intent 
Intent chooser = Intent.createChooser(intent, "Open PDF"); 
startActivity(chooser); 

EDIT:

Для Google диск цель действия Intent.ACTION_SEND, и вам необходимо установить дополнительные услуги, чтобы сделать ваши намерения:

Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + your_file_path)); 
+0

Привет, выборщик работает, но я не получаю диск Google как вариант. – BHuelse

+0

@BHuelse, отредактированный, попробуйте с действием Intent.ACTION_SEND – isma3l

+0

@BHuelse, я забыл дополнительные вопросы в ответе – isma3l

Смежные вопросы