在活动通话中发送 DTMF 事件时出现问题。
我adb shell input text #0123*
用来发送 DTMF 音。到目前为止,这对于较旧的 Android 版本运行良好。从 Android 11(我还没有检查 12)开始,特殊字符 * 和 # 不再起作用,而是发送 8 和 3。
如果我在其他文本字段中发送文本,则特殊字符的格式正确,该错误仅发生在通话应用程序内部,当有活动呼叫并尝试通过拨号盘发送 DTMF 音时。
编辑:
我尝试发送 ' 转义:
User:~$ adb -s RF8N31NZ5SK shell
x1s:/ $ input text '#*'
x1s:/ $
但结果是一样的:
Edit-2:
看起来拨号器不再允许在 Android >= 11 上使用特殊字符。我设法通过 keyevents KEYCODE_POUND 和 KEYCODE_STAR 做到了:
User:~$ adb -s RF8N31NZ5SK shell
x1s:/ $ input keyevent KEYCODE_POUND
x1s:/ $ input keyevent KEYCODE_STAR
x1s:/ $