Неправильное действие намерения Android при исходящем звонке

Я работаю над приложением для Android (kotlin), которое регистрирует информацию о телефонных звонках (номер телефона, дату и время). Со входящими звонками работает, а вот с исходящими не умею.

Я пробовал много решений, но ни одно из них не работает.

Это наиболее рекомендуемый:

override fun onReceive(context: Context?, intent: Intent?) {
    if(intent?.action.equals(Intent.ACTION_NEW_OUTGOING_CALL))
    {
        //Outgoing call
        String number=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
    }
}

intent.action должно быть android.intent.action.ACTION_NEW_OUTGOING_CALL при исходящем вызове, но когда я отлаживаю приложение, отладчик показывает, что action является android.intent.action.PHONE_STATE

Есть ли способ исправить это или какое-то обходное решение?

1 ответ

Просто попробуй android.intent.action.NEW_OUTGOING_CALL действие вместо этого.

if (intent?.action == "android.intent.action.NEW_OUTGOING_CALL") {
    // ..
}
Другие вопросы по тегам