Código fuente del caso de Android
Private void showFileChooser() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.settype (" */ * ");
intent.addCategory(Intent.Category_can be open);
Pruebe {
startActivityForResult(intent. create selecter( intent, "Seleccione un archivo para cargar"), File_Select_CODE);
} catch(Android . content . Activitynotfoundexception ex){
Toast.makeText(this, " Instale un administrador de archivos.", brindis .LENGTH_SHORT). show();
}
}
Resultado de la selección:
@override
Nulo protegido en actividad resultado(código de solicitud int, código de resultado int, datos de intención) {
Cambiar(código de solicitud){
Código de selección_archivo de caso:
if (código de resultado == RESULT_OK) {
//Obtener el Uri del archivo seleccionado
uri uri = data . get data();
string path = file utils.getpath(this ,uri);
}
descanso;
}
resultado de la actividad super.on (código de solicitud, código de resultado, datos);
}
Archivo FileUtils
Clase pública FileUtils {
Cadena estática pública getPath(ContextContext, Uri uri) {
if("content". equalsIgnoreCase(uri . get esquema())){
string[]projection = { " _ data " };
Cursor cursor = null
Pruebe {
cursor = contexto getcontentresolver(). consulta(uri, proyección, nulo, nulo, nulo);
int columna _ index = cursor . getcolumnindexorthrow(" _ datos "); {
Return cursor.getstring(column_index);
}
} catch(Exception e) {
//comer, ya lo tengo
}
}
else if ("archivo". igual aIgnoreCase(uri. get esquema())){
Devolver uri .getpath();
}
Devolver nulo
}
}