Android 可以直接打电话吗?

Android 可以直接打电话吗?,android,Android,我们知道您可以使用以下代码打开呼叫应用程序: startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse("tel:0377778888"))); 不必通过设备的默认应用程序就可以进行直接呼叫吗?您正在查找操作调用:您正在查找操作调用: 安卓清单 <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> 安卓清单

我们知道您可以使用以下代码打开呼叫应用程序:

startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse("tel:0377778888")));

不必通过设备的默认应用程序就可以进行直接呼叫吗?

您正在查找
操作调用

您正在查找
操作调用

安卓清单

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

安卓清单

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

此代码段进行直接调用:

// Check the SDK version and whether the permission is already granted or not.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
    requestPermissions(new String[]{Manifest.permission.CALL_PHONE}, PERMISSIONS_REQUEST_PHONE_CALL);
} else {
    //Open call function
    String phone = "7769942159";
    Intent intent = new Intent(Intent.ACTION_CALL);
    intent.setData(Uri.parse("tel:+91" + phone));
    startActivity(intent);
}
在清单中使用此权限:


此代码段进行直接调用:

// Check the SDK version and whether the permission is already granted or not.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
    requestPermissions(new String[]{Manifest.permission.CALL_PHONE}, PERMISSIONS_REQUEST_PHONE_CALL);
} else {
    //Open call function
    String phone = "7769942159";
    Intent intent = new Intent(Intent.ACTION_CALL);
    intent.setData(Uri.parse("tel:+91" + phone));
    startActivity(intent);
}
在清单中使用此权限:


是的,只需将代码中的
Intent.ACTION\u DIAL
替换为
Intent.ACTION\u CALL
即可。 并且您必须具有该应用程序的通话权限。 对于下面的棉花糖设备,您只需将下面的一行放在您的清单中的清单标签下即可

但对于棉花糖或以上操作系统设备,您需要在清单中声明权限,如下所示

<uses-permission-sdk-23 android:name="android.permission.CALL_PHONE" />
检查权限

ActivityCompat.requestPermissions(thisActivity,
                new String[]{Manifest.permission.CALL_PHPNE})
ContextCompat.checkSelfPermission(thisActivity,
                Manifest.permission.CALL_PHONE)
        != PackageManager.PERMISSION_GRANTED

要了解更多信息,您可以将代码中的
Intent.ACTION\u DIAL
替换为
Intent.ACTION\u CALL
。 并且您必须具有该应用程序的通话权限。 对于下面的棉花糖设备,您只需将下面的一行放在您的清单中的清单标签下即可

但对于棉花糖或以上操作系统设备,您需要在清单中声明权限,如下所示

<uses-permission-sdk-23 android:name="android.permission.CALL_PHONE" />
检查权限

ActivityCompat.requestPermissions(thisActivity,
                new String[]{Manifest.permission.CALL_PHPNE})
ContextCompat.checkSelfPermission(thisActivity,
                Manifest.permission.CALL_PHONE)
        != PackageManager.PERMISSION_GRANTED

有关更多信息,请参见。非常感谢。就这样。非常感谢。