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>
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!
}