Android系统设置之勿扰模式

项目中遇到车载机使用带通话功能的SIM卡,需要禁止来电功能。解决方案包括系统层面修改代码(不及时)、实现来电自动拒接(需权限)和设置勿扰模式(针对7.0到9.0的Android系统)。最终选择了通过设置勿扰模式来忽略来电,并提到在不同Android版本中代码的适应性问题。参考了多个技术文章。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

智能车载机

问题描述:

车载机使用4G流量,但客户接入的是带通话功能的sim卡,客户测试过程中遇到有人拨号,来电音量不是静音情况下,居然通了。客户提出禁止来电功能。


原因分析:

尽管系统进行了裁剪,去掉了拨号和来电APP,但是来电等功能还是可以使用的,最后无人接通,系统通知栏出现了来电未接图标。


解决方案:

方案1,求助

系统开发人员在系统层修改代码,禁止来电及拨号功能,当然是行的通的,但是被告知不能及时修改,那么进行OTA升级可能要过段时间,可是应用马上到了发布日,就先自己想想办法了。当然如果你的小伙伴很给力,那么直接进行OTA升级就可以解决,应用层无需更改。

方案2,实现来电自动拒接

监听来电通知,在有电话进来的时候,拒接,注意:权限。

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />

实现方法(注意我这边因为有系统编译的SDK包,所以可以直接调用,没有的话,可通过反射实现)

反射实现参考点击我

    private void  endCall(){
   
        AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
        TelephonyManager  tm = (TelephonyManager) getSystemService(Service.TELEPHONY_SERVICE);
        tm.listen(new PhoneStateListener(){
   

            @Override
            public void onCallStateChanged(int state, String phoneNumber
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值