我刚刚开始使用Android编程,并且正在关注“Android应用程序开发傻瓜”一书,并且已经达到了我的“工作”静音模式切换应用程序,但我注意到了' bug'或者其他东西:
当我使用虚拟设备(或实际手机上的音量按钮)调节音量时,如果我将其安装在那里并打开静音模式切换程序,则无法显示手机静音/振铃状态的正确状态。它始终显示正常(绿色图像)。因此,如果我使用按钮上的音量按钮将其调低为静音并打开应用程序,即使手机实际上已静音,它仍会显示“正常”的绿色图像。 但是,如果我使用APP将其转为静音模式,请离开应用程序,然后返回,它会正确显示红色图像。我尝试复制downloaded MainActivity.java file中的代码,看看我的某处是否有拼写错误,但它仍然表现出相同的行为。
本书中的示例应用程序是使用Android 2.2编写的,但我正在开发2.3.3(我的虚拟设备和实际手机) 2.2和2.3.3是否存在导致此问题或其他问题的一些差异?
谢谢, 杰米
答案 0 :(得分:0)
经过一番深入研究后,我决定尝试一下。
在上面的参考java文件的第57行:
if (ringerMode == AudioManager.RINGER_MODE_SILENT) {
我把它改为:
if (ringerMode == AudioManager.RINGER_MODE_SILENT || ringerMode == AudioManager.RINGER_MODE_VIBRATE) {
现在它似乎正常工作!
所以也许这是必要的,因为正如我所提到的,我使用的是2.3.3而不是本书中使用的2.2。希望我插入这一行不会导致任何问题,因为我继续前进。而且我实际上没有在我的实际手机上进行测试,看看来电,短信,电子邮件,闹钟等是否会受到影响,直至沉默。