Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

08 Desafio> pedindo permissoes de SMS

No exercício pede para colocar um pedido de permissão, eu pensei em criar um método que já peça todas as permissões necessárias quando o app e aberto mas, quando tirei o checkSelfPermission da intent que realiza a ligação o AndroidStudio reclama que esta sem.

ListaDeAlunosActivity

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista_alunos);

      // codigo ...

        checaPermicoes();
    }
    private void checaPermicoes(){
        if (ActivityCompat.checkSelfPermission(ListaAlunosActivity.this, Manifest.permission.RECEIVE_SMS)
                != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(ListaAlunosActivity.this,
                    new String[]{Manifest.permission.RECEIVE_SMS}, CODIGO_SMS);
        }
        if (ActivityCompat.checkSelfPermission(ListaAlunosActivity.this, Manifest.permission.CALL_PHONE)
                != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(ListaAlunosActivity.this,
                    new String[]{Manifest.permission.CALL_PHONE}, CODIGO_CALL);
        }
    }
    public void onCreateContextMenu(...){

        MenuItem itemLigar = menu.add("Ligar");
        itemLigar.setOnMenuItemClickListener(item -> {
                Intent intentLigar = new Intent(Intent.ACTION_CALL);
                intentLigar.setData(Uri.parse("tel:" + aluno.getTelefone()));
                startActivity(intentLigar);

            return false;
        });
// ....
1 resposta
solução!

Matheus, tudo bem ?

Não chega a ser um erro, é apenas um aviso que o Android Studio está configurado para fazer. Ele está te avisando que esse código pode gerar um problema se você não tiver a permissão.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software