Ни одно приложение не может выполнить это действие

Когда я пытаюсь вызвать неявное намерение с действием "Intent.ACTION_GET_CONTENT" Я получаю это сообщение об ошибке "No apps can perform this action." Заранее спасибо. Пожалуйста, смотрите мой код ниже.

 Intent intent = new Intent();
 intent.setType("*/*");
 intent.setAction(Intent.ACTION_GET_CONTENT);
 startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);

3 ответа

Проблема из раздела setType.

Это используется для создания намерений, которые указывают только тип, а не данные, например, чтобы указать тип возвращаемых данных.

не

intent.setType("*/*"); // Arise problem

Делать

 intent.setType("image/*"); 

РЕДАКТИРОВАНИЕ

Вы можете попробовать с

Intent intent_open = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent_open.setType("image/* video/*");

Попробуй это

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("video/*, images/*");
startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);

Вам нужно установить явный тип данных MIME для намерения. Например

  Intent intent=new Intent(Intent.ACTION_PICK);
    intent.setType("image/*"); //for image pick from gallery via intent
    intent.setType("video/*"); //for video pick from gallery via intent
Другие вопросы по тегам