Hi there...
Ok found my code that works... in Android 9,10,11,12... for sure..
at my manifest have this: android:targetSdkVersion="30"
and ofcourse asking permissions and in my app and from manifest for these:
AddPermission("android.permission.CALL_PHONE")
AddPermission("android.permission.READ_PHONE_STATE")
AddPermission("android.permission.READ_CONTACTS")
AddPermission("android.permission.ANSWER_PHONE_CALLS")
AddPermission("android.permission.READ_CALL_LOG")
AddPermission("android.permission.READ_PHONE_NUMBERS")
Sub ENDCALL
If howend="EndCall" Then 'AVER>27
Dim ctxt As JavaObject
ctxt.InitializeContext
Dim tm As JavaObject = ctxt.RunMethod("getSystemService", Array("telecom"))
Dim success As Boolean = tm.RunMethod("endCall", Null)
If success=False Then
Dim success As Boolean = tm.RunMethod("endCall", Null)
End If
Else
KillCall 'my old sub !
End If
End Sub
but I will suggest you again (because your app will not be default phone app) to take after the 2nd ring the incoming number... i achieved it like this:
Sub PE_PhoneStateChanged (State As String, IncomingNumber As String, Intent As Intent)
ring=ring+1
Log(ring)
If ring<2 Then
Return
Else
ring=0
End If
Log("passing to check...")
If State = "RINGING" Then
ph=IncomingNumber.trim
...