For API 23+, you should check the resolution:
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 , which requires permission, namely android.permission.CALL_PHONE . But for sdk> = 23 you need to check the runtime with Manifest.permission.CALL_PHONE . It is designed for targets of 23 and above.
If you reduce the target load below 23, you do not need it, and Intent.ACTION_CALL will work fine.
source share