记录Android Fragment中实现拨打电话功能
【代码】记录Android Fragment中实现拨打电话功能。
·
实现拨打电话的功能,实现代码如下:
// 权限请求码
private val REQUEST_CALL_PHONE = 100
private fun dialPhoneNumber(phoneNumber: String) {
val intent = Intent(Intent.ACTION_CALL)
intent.data = Uri.parse("tel:$phoneNumber")
if (intent.resolveActivity(requireContext().packageManager) != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(requireContext(),
android.Manifest.permission.CALL_PHONE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(requireActivity(),
arrayOf(android.Manifest.permission.CALL_PHONE),
REQUEST_CALL_PHONE)
} else {
startActivity(intent)
}
} else {
startActivity(intent)
}
} else {
Toast.makeText(requireContext(), "无法拨打电话", Toast.LENGTH_SHORT).show()
}
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == REQUEST_CALL_PHONE) {
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
dialPhoneNumber("1234567890") // 替换成你想拨打的电话号码
} else {
Toast.makeText(requireContext(), "拨打电话权限被拒绝", Toast.LENGTH_SHORT).show()
}
}
}
更多推荐
所有评论(0)