`
啦啦啦代码西亚
  • 浏览: 16617 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于修改bug后当时有效而OTA升级后显示bug并未解决的问题

阅读更多

之前在解一个闹钟在静音模式下不响铃的bug的时候,删掉了一行代码

ringerModeAffectedStreams |= (1 << AudioSystem.STREAM_RING)|
                                        (1 << AudioSystem.STREAM_NOTIFICATION)|
                                        (1 << AudioSystem.STREAM_ALARM)|
                                        (1 << AudioSystem.STREAM_SYSTEM);

 删掉了其中的

(1 << AudioSystem.STREAM_ALARM)|

 这一行代码。之后验证,问题是解决了的。可是在未解决版本上通过OTA升级的方法把这个问题的解决体现出来的时候是没有效果的。

苦苦寻找解决办法数天之后,发现

ringerModeAffectedStreams

这个值的存取是通过读写数据库完成的。即

ringerModeAffectedStreams = Settings.System.getIntForUser(mContentResolver,
                Settings.System.MODE_RINGER_STREAMS_AFFECTED,
                ((1 << AudioSystem.STREAM_RING)|(1 << AudioSystem.STREAM_NOTIFICATION)|
                 (1 << AudioSystem.STREAM_SYSTEM)|(1 << AudioSystem.STREAM_SYSTEM_ENFORCED)),
                 UserHandle.USER_CURRENT);

 和

Settings.System.putIntForUser(mContentResolver,
                    Settings.System.MODE_RINGER_STREAMS_AFFECTED,
                    ringerModeAffectedStreams,
                    UserHandle.USER_CURRENT);

 从而得到启发,

(1 << AudioSystem.STREAM_ALARM)

这一项在之前的版本是通过“或”的方式加进数据库的,而之后删掉这一行,并不能在数据库中把这一项的值去掉,即变成0。

故最终还需要在代码中加入这句

ringerModeAffectedStreams &= ~(1 << AudioSystem.STREAM_ALARM);

 通过这种“移位”“与”的方式把相应的为置零。

0
0
分享到:
评论

相关推荐

    Android OTA升级流程

    Android OTA(Over-The-Air)升级流程是智能手机中一种常见的无线更新机制,允许设备通过移动网络或Wi-Fi连接下载并安装新版本的系统或应用程序。这个过程不仅涉及软件更新,还涉及到确保更新的安全性和正确性。以下...

    安卓12 -高通-OTA-AB升级相关信息.zip

    4. **0001-OTA.patch** 和 **0001-OTA-ota-sdcard.patch**:这些补丁可能包含对原系统文件的修改,比如修复bug、优化性能或添加新功能。编号通常表示补丁的顺序,ota-sdcard可能与通过SD卡进行的OTA升级有关。 5. *...

    AndroidOtaUpdate

    - **预发布阶段**:Google或设备制造商首先开发并测试新版本的Android系统,确认无重大问题后,会生成一个OTA更新包。 - **签名与分发**:更新包经过安全签名,确保其未被篡改,然后通过服务器推送给设备制造商...

    f2803x_flash_kernel_串口在线升级_28035_centf3n_

    标题中的“f2803x_flash_kernel_串口在线升级_28035_centf3n_”指的是TI公司的TMS320F2803x系列DSP(数字信号处理器)的一个固件更新项目,特别是针对串口在线升级(UART Over-the-Air Update, 或OTA)功能。...

    mb200相机补丁

    手机用户在升级到Android 2.2后,有时会发现相机应用程序在启动或使用过程中突然关闭,这可能是由于系统与硬件之间的兼容性问题,或者是相机驱动程序与新ROM不匹配导致的。 补丁通常包含对原有软件的修改或更新,其...

    最好的黑莓Black Berry pdf阅读器 RepliGoReader 2.0

    而DTG2.0这样浏览则会出现乱码情况,必须通过软件打开文件才行,不知道最新的DTG解决这个BUG没。 这个是最新的2.0版,可使用十天,但可以延长使用期而免注册,看完教程再安装,本人亲测可用。 具体免注册方法,...

    Android 编年史详细介绍

    2009年2月,Android迎来了第一次版本更新至1.1,这次更新主要修复了1.0版本中的一些bug,并引入了OTA无线升级功能,这在当时是非常先进的技术。然而,由于制造商和运营商的定制化行为,这一功能并未在所有设备上得到...

    ESP8266固件

    - OTA升级: 允许固件在线更新,方便维护。 7. 安全考虑 在开发基于ESP8266的项目时,安全因素不容忽视,如防止未授权访问、数据加密传输、防止DoS攻击等。开发者应使用安全的网络协议,对敏感数据进行加密,并...

    黑莓手机管理工具(BerryBox)

    # 修复读取模块时将RimGanInjector和SecurIDLib当作第三方模块的BUG ===0.2.0 build(1124) - 2010-11-24=== # 增加BerryBox同时连接多台设备的功能 # 安装驱动增加对64位系统及英文版系统的支持(未完全测试) # 增加...

    MX58+刷机工具

    【MX58+刷机工具】是一款专门为MX58+智能手机设计的安卓刷机软件,旨在帮助用户进行线刷操作,提升设备性能或解决系统问题。这款工具是线刷必备的,意味着它不依赖于传统的OTA(Over The Air)无线更新方式,而是...

Global site tag (gtag.js) - Google Analytics