if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
phnNbr = intent?.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER).toString()
} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {
val telephony =
context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
telephony.listen(object : PhoneStateListener() {
override fun onCallStateChanged(state: Int, incomingNumber: String) {
// super.onCallStateChanged(state, incomingNumber)
println("incomingNumber API>28: $incomingNumber")
phnNbr = incomingNumber
}
}, PhoneStateListener.LISTEN_CALL_STATE)
}
i am getting blank string using this code in API 30
I/System.out: incomingNumber API>28:
also the onCallStateChanged has been depreated for android 12, and the TelephonyCallback cannot provide the phone number. i also would like to know a workaround for that.