intent.setType ("application / pdf"), позволяющий выбрать любой файл - PullRequest
0 голосов
/ 02 января 2019

Я создаю приложение, в котором я хочу дать возможность загрузить файл PDF. Я написал этот код, но он позволяет выбрать любой тип документа на выбор. Я хочу разрешить только PDF-файл для выбора. Я использую Targeting API level 28.

 case 2:
   Intent pickPdf = new Intent(Intent.ACTION_GET_CONTENT);
   pickPdf.setType("application/pdf");
   pickPdf.addCategory(Intent.CATEGORY_OPENABLE);
   myBundle.putString("type",type);
   try {
     startActivityForResult(Intent.createChooser(pickPdf, "Select a File to Upload"),103);
   } catch (ActivityNotFoundException e) {
     Toast.makeText(GuarantorDocsupload.this, "Please Install a File Manager",Toast.LENGTH_SHORT).show();
   }
   break;

1 Ответ

0 голосов
/ 02 января 2019

Это работает для меня.

private static final int STORAGE_PERMISSION_CODE = 123;

      Intent intent = new Intent();
      intent.setAction(Intent.ACTION_GET_CONTENT);
      intent.addCategory(Intent.CATEGORY_OPENABLE);
      intent.setType("application/pdf");
      intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
      intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);

try {
     startActivityForResult(Intent.createChooser(intent, "Select Your .pdf File"), PICK_PDF_REQUEST);
   } catch (ActivityNotFoundException e) {
     Toast.makeText(GuarantorDocsupload.this, "Please Install a File Manager",Toast.LENGTH_SHORT).show();
   }

Возможно, это поможет вам.

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