5

ich Dexter in meiner App implementiert haben. Es ist gut für CAMERA, externe Speicherung und interne Speicherung Erlaubnis. Ich möchte mit PHONE_CALL Erlaubnis mit Dexter anrufen. Wenn ich rufe Absicht für Anruf wie folgt aus:PHONE_CALL Erlaubnis arbeiten nicht in Dexter

Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + strNum)); 
startActivity(callIntent); 

dann startActivity zeigt Warn Call requires permission which may be rejected by user: code should explicitly check to see if permission is available (with checkPermission) or explicitly handle a potential SecurityException less... (Ctrl+F1)

Ich verstehe nicht, dass ich implementieren Dexter warum dann startActivity selbst die Erlaubnis wollen?

Antwort

2

Für API 23+ Sie für die Erlaubnis als überprüfen sollten:

if (mContext.checkSelfPermission(Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) { 
    Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + strNum)); 
    startActivity(callIntent): 
} 

Intent.ACTION_CALL intent, die eine Genehmigung erforderlich ist, nämlich die android.permission.CALL_PHONE ein. Aber für sdk> = 23 müssen Sie mit Manifest.permission.CALL_PHONE Laufzeit einchecken. Es ist für targetedskversion 23 und höher.

Wenn Sie Ihre targetedsdkversion unter 23 senken, dann müssen Sie nicht über diese persmission und Intent.ACTION_CALL wird funktionieren.

+0

Ich weiß, dass. Aber ich habe die Dexter-Bibliothek für das Berechtigungsmodell verwendet. Dann muss ich die Self-Berechtigung überprüfen und eine andere Sache ist, dass wenn ich 'Intent.ACTION_DIAL' anstelle von' Intent.ACTION_CALL' verwende, dann wird keine Warnung angezeigt. Also verstehe ich nicht, was soll ich tun? –

+0

meine Antwort bearbeitet prüfen .. Intent.ACTION_DIAL wird kein Anruf direkt machen ..es die Dialer mit der Nummer bringt Sie inserted..That die warum Intent.ACTION_DIAL nicht die Erlaubnis benötigt als Benutzer einen Anruf tätigen bestätigt manuell ..... –

+0

Ich möchte PHONE_CALL Erlaubnis nur von Dexter überprüfen. Ist es möglich oder nicht? und wenn möglich wie? –

Verwandte Themen