BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #34105同步于 2018/8/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

【急】有偿开发:安卓APP兼容性修复

artistmx
2018/8/20镜像同步4 回复
我们是北京大学信息科学技术学院的一个实验室,隶属于移动数字医院系统教育部工程研究中心(http://mdhs.pku.edu.cn/index.htm) 实验室之前开发的安卓APP在安卓7系统上可以正常运行,在安卓8系统手机上无法发短信。急需有经验的安卓开发者帮助我们修复这个bug。 预期完成时间:3天 报酬可议 联系人:杜同学 598861848@qq.com
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
wu2011211367机器人#1 · 2018/8/20
我拍着脑袋就觉得这个可能是权限问题,Android O又改了一版。 所以你们最好把发短信时的logcat信息打出来,肯定会有相应的信息。 android 9 也出了,你们还是找个fulltime吧,这样下去可不是办法。
lg5841机器人#2 · 2018/8/22
8.0行为变更:https://developer.android.com/about/versions/oreo/android-8.0-changes 权限 在 Android 8.0 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。 对于针对 Android 8.0 的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而,一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准。 例如,假设某个应用在其清单中列出 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE。应用请求 READ_EXTERNAL_STORAGE,并且用户授予了该权限。如果该应用针对的是 API 级别 24 或更低级别,系统还会同时授予 WRITE_EXTERNAL_STORAGE,因为该权限也属于同一 STORAGE 权限组并且也在清单中注册过。如果该应用针对的是 Android 8.0,则系统此时仅会授予 READ_EXTERNAL_STORAGE;不过,如果该应用后来又请求 WRITE_EXTERNAL_STORAGE,则系统会立即授予该权限,而不会提示用户。 9.0行为变更:https://developer.android.com/about/versions/pie/android-9.0-changes-all 限制访问通话记录 Android 9 引入 CALL_LOG 权限组 并将 READ_CALL_LOG、WRITE_CALL_LOG 和 PROCESS_OUTGOING_CALLS 权限移入该组。 在之前的 Android 版本中,这些权限位于 PHONE 权限组。 对于需要访问通话敏感信息(如读取通话记录和识别电话号码)的应用,该 CALL_LOG 权限组为用户提供了更好的控制和可见性。 如果您的应用需要访问通话记录或者需要处理去电,则您必须向 CALL_LOG 权限组明确请求这些权限。 否则会发生 SecurityException。 注:因为这些权限已变更组并在运行时授予,用户可以拒绝您的应用访问通话记录信息。 在这种情况下,您的应用应该能够妥善处理无法访问信息的状况。 如果您的应用已经遵循运行时权限最佳做法,则可以处理权限组的变更。 限制访问电话号码 在未首先获得 READ_CALL_LOG 权限的情况下,除了应用的用例需要的其他权限之外,运行于 Android 9 上的应用无法读取电话号码或手机状态。 与来电和去电关联的电话号码可在手机状态广播(比如来电和去电的手机状态广播)中看到,并可通过 PhoneStateListener 类访问。 但是,如果没有 READ_CALL_LOG 权限,则 PHONE_STATE_CHANGED 广播和 PhoneStateListener 提供的电话号码字段为空。 要从手机状态中读取电话号码,请根据您的用例更新应用以请求必要的权限: 要通过 PHONE_STATE Intent 操作读取电话号码,同时需要 READ_CALL_LOG 权限和 READ_PHONE_STATE 权限。 要从 onCallStateChanged() 中读取电话号码,只需要 READ_CALL_LOG 权限。 不需要 READ_PHONE_STATE 权限。
artistmx机器人#3 · 2018/11/18
非常感谢这位大神!!当时发帖是老板的意思……后来我们的同学很快就调出来了,我也好久没登录论坛,今天看到您这么详尽专业的解释十分感动,我已经分享给我们负责APP的同学了,再次感谢[em65] 【 在 lg5841 的大作中提到: 】 : 8.0行为变更:https://developer.android.com/about/versions/oreo/android-8.0-changes : 权限 : 在 Android 8.0 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。 : ...................
artistmx机器人#4 · 2018/11/18
嗯嗯 问题已经解决了 好久没登录bbs 非常感谢~ 【 在 wu2011211367 的大作中提到: 】 : 我拍着脑袋就觉得这个可能是权限问题,Android O又改了一版。 : 所以你们最好把发短信时的logcat信息打出来,肯定会有相应的信息。 : android 9 也出了,你们还是找个fulltime吧,这样下去可不是办法。