Hi gaes, kali ini saya ingin berbagi pengalaman tentang cara kotlin mengakses galeri HP untuk keperluan upload content ke server.
Kode di bawah ini dapat digunakan untuk mengambil foto dan memilih foto. Cukup tampilkan dialog dengan dua opsi dan setelah dipilih, gunakan kode yang sesuai.
Untuk mengambil gambar dari kamera:
Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(takePicture, 0);//zero can be replaced with any action code (called requestCode)
Memilih gambar dari galeri:
Intent pickPhoto = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(pickPhoto , 1);//one can be replaced with any action code
onActivityResult kode:
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent); switch(requestCode) { case 0: if(resultCode == RESULT_OK){ Uri selectedImage = imageReturnedIntent.getData(); imageview.setImageURI(selectedImage); } break; case 1: if(resultCode == RESULT_OK){ Uri selectedImage = imageReturnedIntent.getData(); imageview.setImageURI(selectedImage); } break; } }
Terakhir jangan lupa tambahkan permission di manifest.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />