首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何拒绝Android中的电话?

问如何拒绝Android中的电话?
EN

Stack Overflow用户
提问于 2022-11-29 12:51:40
回答 1查看 25关注 0票数 2

我需要自动拒绝我设置的号码列表中的电话。

,我找到了一个解决方案,但不起作用

代码语言:javascript
复制
public class IncomingCallReceiver extends BroadcastReceiver {
    private ITelephony telephonyService;
    private String blacklistednumber = "+458664455";
    @Override
    public void onReceive(Context context, Intent intent) {
       TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
       try {
         Class c = Class.forName(tm.getClass().getName());
         Method m = c.getDeclaredMethod("getITelephony");
         m.setAccessible(true);
         ITelephony telephonyService = (ITelephony) m.invoke(tm);
         Bundle bundle = intent.getExtras();
         String phoneNumber = bundle.getString("incoming_number");
         Log.e("INCOMING", phoneNumber);
         if ((phoneNumber != null) && phoneNumber.equals(blacklistednumber)) { 
            telephonyService.silenceRinger();
            telephonyService.endCall();
            Log.e("HANG UP", phoneNumber);
         }
       } catch (Exception e) {
         e.printStackTrace();
       }
}
EN

回答 1

Stack Overflow用户

发布于 2022-11-29 13:36:53

我试过这个选择,但也没什么用。

代码语言:javascript
复制
class IncomingCallReceiver : BroadcastReceiver() {
     private val telephonyService: ITelephony? = null
     private val blacklistednumber = "+79289044090"
     override fun onReceive(p0: Context?, p1: Intent?) {
      val tm = p0?.getSystemService(Context.TELEPHONY_SERVICE)
      try {
       val c = Class.forName(tm?.javaClass?.name)
       val m = c.getDeclaredMethod("getITelephony")
       m.isAccessible = true
       val telephonyService = m.invoke(tm) as ITelephony
       val bundle: Bundle? = p1?.getExtras()
       val phoneNumber = bundle?.getString("incoming_number")
       Log.e("INCOMING", phoneNumber!!)
       if (phoneNumber != null && phoneNumber == blacklistednumber) {
        telephonyService.silenceRinger()
        telephonyService.endCall()
        Log.e("HANG UP", phoneNumber)
       }
      } catch (e: Exception) {
       e.printStackTrace()
      }
     }
    
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74614391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档