Cómo pedir permisos en una Aplicación Android en una APP Real

Permisos en una App Android

Publicado en Android 2018-04-24 19:21:35

Cómo pedir permisos en una Aplicación Android en una APP Real

Solicitar permisos de Llamada en Android

Android Programación Android

Resumen: Codigo para pedir permisos de Llamada en una App Android, CALL_PHONE gestionando la aprobación y desaprobación en Android Studio. Ejemplo en una aplicación

La petición o solicitud de permisos para usar determinadas funcionalidades en una aplicación tiene un punto fuerte, pues de su aprobación o desaprobación depende prestar una buena experiencia  de usuario. Ahora veremos un ejemplo implementado en un aplicación real.

El código:

public class NegocioActivity extends AppCompatActivity {

    
    private Button btnllamar;
    private String numero;
    private static final int MY_PERMISSIONS_REQUEST_LLAMADA = 100 ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_negocio);       
        telefono = findViewById(R.id.telefono);       
        btnllamar = findViewById(R.id.btnllamar);
        numero="123456789";
              

        if(mayRequestStoragePermission())
            btnllamar.setEnabled(true);
        else
            btnllamar.setEnabled(false);

        btnllamar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(Intent.ACTION_CALL);
                i.setData(Uri.parse("tel:"+numero));
                if (ActivityCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                    return;
                }
                startActivity(i);
            }
        });

    }
    private boolean mayRequestStoragePermission() {
        if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
            return true;
        if((checkSelfPermission(CALL_PHONE) == PackageManager.PERMISSION_GRANTED))
            return true;
        if(shouldShowRequestPermissionRationale(CALL_PHONE)){
            requestPermissions(new String[]{CALL_PHONE}, MY_PERMISSIONS_REQUEST_LLAMADA);
        }else{
            requestPermissions(new String[]{CALL_PHONE}, MY_PERMISSIONS_REQUEST_LLAMADA);
        }
        return false;
    }

    @Override
    public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) {
        if(requestCode == MY_PERMISSIONS_REQUEST_LLAMADA){
            if(grantResults.length == 3 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
                Config.mensaje(getApplicationContext(), "Permisos aceptados");
                btnllamar.setEnabled(true);
            }
        }else{
            Config.mensaje(getApplicationContext(),"Los permisos son necesarios para realizar llamadas");
        }
    }

   

}

 

El resultado podemos verlo en el siguiente video corto de menos de 03 minutos

Redacción:| Artículo leído: 77 veces | Publicación:


Compártelo con tus amigos


Publicaciones relacionadas de Android