Ver mensagens sem resposta | Ver tópicos ativos Hoje é 24 Set 2021, 08:39



Responder Tópico  [ 1 Mensagem ] 
 Não sei o que esta acontecendo. Problema com o código. 
Autor Mensagem
What is Android?
What is Android?

Data de registro: 12 Mai 2021, 23:50
Mensagens: 3
Mensagem Não sei o que esta acontecendo. Problema com o código.
Estou chamando o método ActivityResultLauncher para abrir a galeria e selecionar uma foto para atualizar uma imagem do perfil, mas assim que eu seleciono a foto, a activity de edição fecha. Nisso, perco de poder continuar a edição em outros campos da activity.

// You can do the assignment inside onAttach or onCreate, i.e, before the activity is displayed
        ActivityResultLauncher<Intent> someActivityResultLauncher = registerForActivityResult(
                new ActivityResultContracts.StartActivityForResult(),
                result -> {
                    if (result.getResultCode() == android.app.Activity.RESULT_OK) {
                        // There are no request codes
                        Intent data = result.getData();
                        Bitmap imagem;

                        try {

                            //seleção apenas da galeria
                            assert data != null;
                            Uri localImagemSelecionada = data.getData();
                            imagem = MediaStore.Images.Media.getBitmap(getContentResolver(), localImagemSelecionada);

                            //caso tenha sido escolhida uma imagem
                            if (imagem != null) {
                                imagePerfilEmpresa.setImageBitmap(imagem);
                            }

                            //recuperar dados da imagem no firebase
                            ByteArrayOutputStream baos = new ByteArrayOutputStream();
                            assert imagem != null;
                            imagem.compress(Bitmap.CompressFormat.JPEG, 70, baos);
                            byte[] dadosImagem = baos.toByteArray();

                            //salvar imagem no firebase
                            final StorageReference imageRef = storageRef.child("imagens").child("perfil").child(idUsuarioEmpresa + ".jpeg");

                            UploadTask uploadTask = imageRef.putBytes(dadosImagem);
                            uploadTask.addOnFailureListener(e -> Toast.makeText(this, "Erro no upload", Toast.LENGTH_SHORT).show())
                                    .addOnSuccessListener(taskSnapshot -> {
                                    imageRef.getDownloadUrl().addOnCompleteListener(task -> {
                                    Uri url = task.getResult();
                                    atualizarFotoEmpresa(url);
                                });
                                Toast.makeText(this, "Sucesso no upload", Toast.LENGTH_SHORT).show();
                            });

                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                });

        textAlterarFoto.setOnClickListener(v -> {
            Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            if (i.resolveActivity(getPackageManager()) != null) {
                someActivityResultLauncher.launch(i);
            }
        });


Esse é o código para abrir a galeria e selecionar a foto. Após ser chamado, ele automaticamente fecha a activity EditarPerfil.


02 Set 2021, 11:38
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 1 Mensagem ] 

Quem está online

Usuários vendo este fórum: Adeja, adelar, AdrianoMM, aechiara, Alexandre Castro, Alexandre de Queiroz, alexcost2002, alexsander.miranda, alfredo_ej, allone, amarildolacerdas, Anderson.OL, ANDRE FELIX DE ASSIS, Andreid, andreluzz, andrigo, Aparec, arilsonm, Augusto, axellsan, bbourbon, BiG_SerGiO, bigr ecreio, Bitor, BMaia, brunomalka, btleandro, C0GuM3I0, cabelo, caliow, carlosavasconcelos, carminati, cenatech, Chaves, compto, czambroni, Daniel Batista, danilosv, Darkluna, debal, diegorrborges, Dorpho, e-azuos, edervieira, edlinux, edson dias de gusmao, eduardo.ali, eduzortea, erosvaldo, estratec, fabielp, Felipe, Felipe Marcondes, Filipe larizzatti, Google Android, Gooooogle, HAMSES, hellbest, ixian, Jalerson, Jango Fett, joaquimfoto, JuniorE, juniorfranca, juniorsk8, laurj, leofernandesmo, LForce, lisbao, lucasB, luciano.sml, luiz, luizneto79, madeinnordeste, Maiquell, mapis, Marcelo Lima, marcelorferrari, marciosoliveira, marcosandreao, maurofjr, Maxtremus, mendes_lu, mrangel, neiesc, neuhaus, neviim, Newton Barbosa, nfaria, nglaubervasc, Nice, nilsgome, nino, nsansilva, phfmendes, poponeis, pumadeejay, Rafael, rafael.cioban, Rainha Amidala/Padmé, ramonsa, raulcca, regisjj, renan.fernandes, Ricardo Chikasawa, ricardo_listadelphi, robertofonte, RodReis, rodrigo_mg, romuloigor, romulotales, Silvio Vaz, sjta, soulmachine, srmoreira, tChAnDy, ThiMatsu, thosjanas, tiasousa, Tognoli, Topeca, unnamedd, wagner_francisco, wcaciano, Wds, wender, wingdoido, woyzeck, yeltsinlima, yuri82 e 43 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi