Indagamos por distintos espacios para de esta manera tenerte la respuesta a tu duda, si continúas con alguna duda puedes dejar la inquietud y contestaremos con gusto, porque estamos para ayudarte.
Ejemplo: cómo obtener el tipo de archivo de uri kotlin
class MainActivity :AppCompatActivity()overridefunonCreate(savedInstanceState: Bundle?)super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)// my_button = id in activity_main layout// need for call intent
my_button.setOnclickListenerval intent =Intent(Intent.ACTION_GET_CONTENT).applyaddCategory(Intent.CATEGORY_OPENABLE)
type ="*/*"startActivityForResult(intent, PICK_ANY_FILE)overridefunonActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?)super.onActivityResult(requestCode, resultCode, resultData)if(resultCode == RESULT_OK && resultCode == PICK_ANY_FILE)if(resultData !=null)
resultData.data?.also uri ->// usage for functionprintln(getFileExtension(uri)!!)companionobjectconstval PICK_ANY_FILE =100/* get actual file name or extension */fun Context.getFileExtension(uri: Uri): String?=when(uri.scheme)// get file extension
ContentResolver.SCHEME_FILE ->File(uri.path!!).extension
// get actual name of file //ContentResolver.SCHEME_FILE -> File(uri.path!!).name
ContentResolver.SCHEME_CONTENT ->getCursorContent(uri)else->nullprivatefun Context.getCursorContent(uri: Uri): String?=try
contentResolver.query(uri,null,null,null,null)?.let cursor ->
cursor.runval mimeTypeMap: MimeTypeMap = MimeTypeMap.getSingleton()if(moveToFirst()) mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri))// case for get actual name of file //if (moveToFirst()) getString(getColumnIndex(OpenableColumns.DISPLAY_NAME))elsenull.also cursor.close()catch(e: Exception)null
Finalizando este artículo puedes encontrar las interpretaciones de otros sys admins, tú de igual manera puedes dejar el tuyo si lo deseas.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)