Каков правильный способ получения разрешений для намерений телефонных звонков

Как запросить разрешения с помощью Kotlin.

Я пытаюсь сделать функцию телефонного звонка

fun buChargeEvent(view: View){ var number: Int = txtCharge.text.toString().toInt() val intentChrage = Intent(Intent.ACTION_CALL) intent.data = Uri.parse("tel:$number") startActivity(intentChrage) } 

Я добавил пользовательские разрешения в манифест, но все еще имею ту же ошибку .

Вам нужно запросить разрешение во время выполнения, поскольку определенные разрешения для Android 6.0 требуют, чтобы вы спросили при установке и снова во время выполнения.

В соответствии с инструкциями здесь объясняется, как запрашивать разрешение во время выполнения.

Вы должны сначала добавить разрешение на ваш манифест

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

После того как разрешение добавлено в манифест, следующий код будет работать для вас «Number_to_call» будет вашим номером, который нужно заменить

  val call = Intent(Intent.ACTION_DIAL) call.setData(Uri.parse("tel:" +"Number_to_call")) startActivity(call) 

Вам нужно добавить разрешение времени выполнения. Загрузите исходный код отсюда

// Нажмите функцию макета:

  rl_call.setOnClickListener { if (boolean_call) { phonecall() }else { fn_permission(Manifest.permission.CALL_PHONE,CALLMODE) } } 

// Запрос разрешения ответа

 fun fn_permission(permission:String,mode:Int){ requestPermissions(permission, object : PermissionCallBack { override fun permissionGranted() { super.permissionGranted() Log.v("Call permissions", "Granted") boolean_call=true phonecall() } override fun permissionDenied() { super.permissionDenied() Log.v("Call permissions", "Denied") boolean_call=false } }) } 

// функция вызова намерения

  fun phonecall() { val intent = Intent(Intent.ACTION_CALL); intent.data = Uri.parse("tel:1234567890s") startActivity(intent) } 

Благодаря!

Intereting Posts
Функциональное программирование: как переносить контекст для цепочки правил проверки Как читать текстовый файл из Firebase в Android-приложение Функция с общим типом возврата Существует ли такой Babel, как компилятор для Java? rxjava2 – простой пример выполнения задач в пуле потоков, подписывается на один поток Kotlin Unit Test Всегда проходит при запуске из интерфейса Android Studio Могу ли я использовать @autowire (spring-context) для настольного приложения kotlin? андроидные запросы с несколькими областями с помощью RXJava Второй конструктор класса Kotlin с другим параметром Что делают серьезные слова в Котлине? Какова наилучшая практика для создания настраиваемого компонента пользовательского интерфейса в tornadofx? GridView внутри ListRow с использованием библиотеки Leanback База данных Android для Android – неразрешенная ссылка @Entity и другие аннотации Как я могу использовать составной ключ в Kotlin? В Котлине не работает почтовая служба, что не так