Page 1 of 1

As novas permissões perigosas em tempo real do Java Android

Posted: 24 Jan 2020, 04:22
by javanunes
Se podemos complicar, por que simplificar? Não é mesmo? Já dizia o filósofo do mundo empresarial...

Agora não basta você declarar as permissões em seu manifest ( AndroidManifest.xml ) como antes:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<manifest     xmlns:android="http://schemas.android.com/apk/res/android"    package="com.javanunes.bucetildes">
      <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
</manifest>
Agora é preciso fazer um malabarismo dentro do seu código java para ser verificada em tempo real , é tipo ficar lançando um 'alert moldal' perguntando pro usuário se ele autoriza ou não usar o GPS, ver o número do seu celular e outras patifarias.
todas as permissoes perigosas abaixo que você queira usar, deve estar no manifest e no código em java:


CALENDAR:
READ_CALENDAR
WRITE_CALENDAR

CAMERA :
CAMERA

CONTACTS:
READ_CONTACTS
WRITE_CONTACTS
GET_ACCOUNTS

LOCATION:
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION

MICROPHONE:
RECORD_AUDIO

PHONE:
READ_PHONE_STATE
CALL_PHONE
READ_CALL_LOG
WRITE_CALL_LOG
ADD_VOICEMAIL
USE_SIP
PROCESS_OUTGOING_CALLS


SENSORS:

BODY_SENSORS

SMS:
SEND_SMS
RECEIVE_SMS
READ_SMS
RECEIVE_WAP_PUSH
RECEIVE_MMS

STORAGE:
READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE


Para o seu código rodar suplicando permissão em tempo real , de forma simplista se ele quisesse usar a permissão READ_PHONE_STATE, seria assim:

Code: Select all

if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)  != PackageManager.PERMISSION_GRANTED) {
        // Permissão negada pelo usuario  
}
else{
      // Coloque o seu código TODO aqui!
}