5

내 응용 프로그램에 Dexter을 구현했습니다. CAMERA, EXTERNAL STORAGE 및 INTERNAL STORAGE 권한에 대해서는 정상적으로 작동합니다. Dexter과 함께 PHONE_CALL 권한으로 전화하고 싶습니다. 나는이 같은 전화를위한 의도를 호출 할 때 : 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)덱스터에서 PHONE_CALL 권한이 작동하지 않습니다.

나는 내가 startActivity 자기 권한을 원하는 이유는 다음 Dexter를 구현하고 있다고 이해하지 못하는 경고

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

startActivity 쇼? 권한, 즉 android.permission.CALL_PHONE 하나가 필요합니다

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 : 당신이로 허가를 확인해야 23+ API를 들어

답변

2

. 그러나 sdk> = 23 인 경우 런타임에 Manifest.permission.CALL_PHONE으로 확인해야합니다. 23 세 이상의 대상을위한 것입니다.

targetsdkversion을 23 미만으로 낮추면이 보류가 필요하지 않으므로 Intent.ACTION_CALL이 정상적으로 작동합니다.

+0

나는 그것을 알고있다. 하지만 나는 허가 모델을 위해 덱스터 라이브러리를 사용했다. 그럼 왜 내가 자기 권한을 확인하고 또 다른 것은'Intent.ACTION_CALL' 대신'Intent.ACTION_DIAL'을 사용하면 경고가 표시되지 않는다는 것입니다. 그래서 내가 어떻게해야하는지 이해하지 못합니까? –

+0

내 편집 된 답변을 확인하십시오. Intent.ACTION_DIAL은 직접 전화를 걸지 않습니다. 당신이 삽입 한 전화 번호로 전화 걸기를 시작합니다. 그래서 Intent.ACTION_DIAL은 사용자가 수동으로 전화를 걸면 승인을 필요로하지 않습니다. ..... –

+0

덱스터만으로 PHONE_CALL 사용 권한을 확인하고 싶습니다. 그것은 가능하거나 불가능합니까? 가능하다면 어떻게? –