vqwertyv 2020-05-25 18:27 采纳率: 50%
浏览 529
已结题

安卓的TelephonyManager.listen方法注册的监听小米手机收不到,如何正常处理?

#####需求是要在电话响铃、接听或打出时,暂停当前的音乐播放;

#####然而在不获取通话相关权限的状态下,通过TelephonyManager注册通话状态的监听,已测试在大部分机型上可用,然而小米手机却奇葩的收不到监听,只在注册的时候返回了一次当时的通话状态。

#####所以想要问一下大佬们,有没有人碰到过这样的问题,是如何解决的?或者帮我出出主意,还有什么办法可以做到这样的需求。

####目前已经尝试过的方法
#####1.注册广播BroadcastReceiver,小米手机收不到,相关代码:

receiver = new PhoneReceiver();
filter = new IntentFilter(Intent.ACTION_NEW_OUTGOING_CALL);
filter.addAction("android.intent.action.PHONE_STATE");
registerReceiver(receiver, filter);


#####2.使用TelephonyManager.listen,小米同样不行:

tm?.listen(object : PhoneStateListener() {
    override fun onCallStateChanged(state: Int, phoneNumber: String?) {
        Log.d("TestV","onCallStateChanged-->[$state], phoneNumber-->[$phoneNumber]")
        Toast.makeText(this@testTelephonyManager, "收到回调-->$state", Toast.LENGTH_SHORT).show()
    }
}, PhoneStateListener.LISTEN_CALL_STATE)

####在强调下是不请求更多权限的情况下,目前只有'READ_PHONE_STATE'

求大神支招~

  • 写回答

2条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题