Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void onClickCamera(View v){
- Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
- startActivityForResult(cameraIntent, CAMERA_REQUEST);
- }
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
- Bitmap photo = (Bitmap)data.getExtras().get("data");
- imageView.setScaleType(ImageView.ScaleType.FIT_XY);
- imageView.setImageBitmap(photo);}}
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
- Bitmap photo = (Bitmap) data.getExtras().get("data");
- imageView.setScaleType(ImageView.ScaleType.FIT_XY);
- imageView.setImageBitmap(photo);
- knop.setVisibility(Button.VISIBLE);
- // Chame este método pra obter a URI da imagem
- Uri uri = getImageUri(getApplicationContext(), photo);
- // Em seguida chame este método para obter o caminho do arquivo
- File file = new File(getRealPathFromURI(uri));
- System.out.println(file.getPath());
- }
- }
- public Uri getImageUri(Context inContext, Bitmap inImage) {
- ByteArrayOutputStream bytes = new ByteArrayOutputStream();
- inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
- String path = Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
- return Uri.parse(path);
- }
- public String getRealPathFromURI(Uri uri) {
- Cursor cursor = getContentResolver().query(uri, null, null, null, null);
- cursor.moveToFirst();
- int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
- return cursor.getString(idx);
- }
- /**
- * (ISTO é uma variável de instância) Contem o caminho e o nome do arquivo onde desejamos salvar a imagem.
- * Usado principalmente para iniciar uma Intent.Action_View com esta URI. (GalleryApp)
- */
- private Uri uriImagem = null;
- public void onClickCamera(View v){
- // Cria uma intent para capturar uma imagem e retorna o controle para quem o chamou (NAO PRECISA DECLARAR PERMISSAO NO MANIFESTO PARA ACESSAR A CAMERA POIS O FAZEMOS VIA INTENT).
- Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE );
- // Cria um arquivo para salvar a imagem.
- uriImagem = ProcessaImagens.getOutputMediaFileUri( ProcessaImagens.MEDIA_TYPE_IMAGE, getActivity().getApplicationContext() );
- // Passa para intent um objeto URI contendo o caminho e o nome do arquivo onde desejamos salvar a imagem. Pegaremos atraves do parametro data do metodo onActivityResult().
- intent.putExtra( MediaStore.EXTRA_OUTPUT, uriImagem );
- // Inicia a intent para captura de imagem e espera pelo resultado.
- startActivityForResult( intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE );
- }
- @Override
- public void onActivityResult( int requestCode, int resultCode, Intent data ) {
- // Se finalizou a activity em startForActivityResult.
- if ( resultCode == Activity.RESULT_OK ) {
- if ( requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE ) {
- String imagemPath = uriImagem.getPath();
- // Vou compactar a imagem, leia o javadoc do médoto e verá que ela retorna tanto um bitmap como um array de bytes.
- List<Object> imagemCompactada = ProcessaImagens.compactarImagem( uriImagem.getPath() );
- Bitmap imagemBitmap = (Bitmap) imagemCompactada.get( 0 );
- byte[] imagemBytes = (byte[]) imagemCompactada.get( 1 );
- }
- }
- // Se cancelou a activity em startForActivityResult.
- else if ( resultCode == Activity.RESULT_CANCELED ) {
- if ( requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE ) {
- // Usuario cancelou a captura da imagem.
- Log.d( getTag(), "Captura de imagem CANCELADA!" );
- }
- }
- // Se ocorreu algum erro na activity em startForActivityResult.
- else {
- // Captura da imagem falhou, avisa ao usuario.
- Toast.makeText( getActivity().getApplicationContext(), "FALHA! A captura da imagem falhou!", Toast.LENGTH_LONG ).show();
- Log.e( getTag(), "FALHA! A captura da imagem falhou!" );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement