在我的申请中,我发出以下声明:
toneGenerator.startTone(ToneGenerator.TONE_PROP_ACK, 600);
这在运行 Android 2.3.3 的廉价 LG LS670 上运行良好,但在我拥有的所有其他手机(从 Android 2.2.1 到 Android 2.3.4)上完全没有声音。
所以我知道操作系统版本在这里不起作用(我还在文档中验证了它从 API 1 开始就受到支持)。
此外,铃声音量和媒体音量都设置为最大值,并且toneGenerator 初始化为:
toneGenerator = new ToneGenerator(ToneGenerator.TONE_DTMF_1, 100);
我验证了Settings.System.DTMF_TONE_WHEN_DIALING
它设置为 1。
对这种不一致的行为(在不同的手机上)感到困惑,我检查了发生这种情况时的系统日志,我能够发现的唯一可疑的区别是那些无法发声的手机TONE_PROP_ACK
在他们的日志中有这条线:
AudioFlinger setParameters(): io 25, keyvalue routing=0, tid 155, calling tid 121
AudioFlinger的目的是什么,它与静音有什么联系TONE_PROP_ACK
?
知道如何修复我的代码,以便无论手机型号如何,TONE_PROP_ACK 总是响起吗?