Как получить информацию о пакете камеры и галереи по умолчанию? - PullRequest
0 голосов
/ 07 января 2020

Я хочу создать диалог, который позволил бы пользователям выбирать камеру или галерею для выбора изображения. Каждый элемент в диалоге нуждается в значке и изображении. Как я могу получить их для камеры и галереи по умолчанию?

Обновление

В настоящее время я получаю это так

val galleryIntent = Intent(Intent.ACTION_GET_CONTENT).apply {
    setType("image/*")
    addCategory(Intent.CATEGORY_OPENABLE)
    putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/jpeg", "image/png"))
}
val galleryResInfo = packageManager.queryIntentActivities(galleryIntent, 0)[0]

Затем в держатель окна диалога, я могу получить иконку и имя вот так

val packageManager = holder.appName.context.packageManager
holder.appIcon.setImageDrawable(app.resolveInfo.loadIcon(packageManager))
holder.appName.setText(app.resolveInfo.loadLabel(packageManager))

Разве нет лучшего решения?

Ответы [ 2 ]

0 голосов
/ 07 января 2020

Галерея Intent

Intent intent =new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

Camera Intent

Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
0 голосов
/ 07 января 2020

Если вы запускаете два намерения

Intent(MediaStore.ACTION_IMAGE_CAPTURE)
Intent(Intent.ACTION_GET_CONTENT) 

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

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