#android #kotlin #kotlin-android-extensions
#Android #kotlin #kotlin-android-extensions
Вопрос:
Ниже приведен мой код для открытия неявного намерения для отображения списка приложений, поддерживаемых изображениями:
private fun getProfileImage() {
file = ViewUtility.getCaptureImageOutputFilePath(
mActivity,
mActivity.getString(R.string.str_profile_file_name)
)
val imageUri = FileProvider.getUriForFile(
mActivity,
BuildConfig.APPLICATION_ID mActivity.getString(R.string.file_provider_name),
file
)
val intent = ViewUtility.getPickImageIntent(mActivity, imageUri)
startActivityForResult(intent, requestCodeGetProfileImage)
}
fun getCaptureImageOutputFilePath(context: Context, fileName: String): File {
val folder = File("${context.getExternalFilesDir(Environment.DIRECTORY_DCIM)}")
folder.mkdirs()
val file = File(folder, fileName)
if (file.exists())
file.delete()
file.createNewFile()
return file
}
fun getPickImageIntent(context: Context, cameraOutputUri: Uri): Intent? {
var chooserIntent: Intent? = null
var intentList: MutableList<Intent> = ArrayList()
val pickIntent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
val takePhotoIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
takePhotoIntent.putExtra(MediaStore.EXTRA_OUTPUT, cameraOutputUri)
intentList = addIntentsToList(context, intentList, pickIntent)
intentList = addIntentsToList(context, intentList, takePhotoIntent)
if (intentList.size > 0) {
chooserIntent = Intent.createChooser(
intentList.removeAt(intentList.size - 1),
null
)
chooserIntent.putExtra(
Intent.EXTRA_INITIAL_INTENTS,
intentList.toTypedArray<Parcelable>()
)
}
return chooserIntent
}
Я хочу показать только опцию связанных приложений, с которой это сталкивается только в версии ОС Android 10
Android, kotlin, версия Android 10