tm.listen(listen, PhoneStateListener.LISTEN_CALL_STATE);无法拦截来电

我的问题就是无法拦截来电,无法显示来电的号码,因为我得到的是一个空的来电号码,我尝试了很多方法,都无法解决,
这是源代码

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;

import com.example.mobilegualdar.db.tool.DBStoryUtils;


public class PhoneReceiver extends BroadcastReceiver {
    private TelephonyManager tm;
    private MyListener listen;
    private DBStoryUtils dao;
    @Override
    public void onReceive(Context context, Intent intent) {
        tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); //电话管理服务
        listen = new MyListener();
        tm.listen(listen, PhoneStateListener.LISTEN_CALL_STATE);
        dao = new DBStoryUtils(context);
    }
    private  class MyListener extends PhoneStateListener {
        @Override
        public void onCallStateChanged(int state, String phoneNumber) {
            super.onCallStateChanged(state, phoneNumber);

            switch (state) {
                case TelephonyManager.CALL_STATE_IDLE:
                    System.out.println("挂断");
                    break;
                case TelephonyManager.CALL_STATE_OFFHOOK:
                    System.out.println("接听");
                    break;
                case TelephonyManager.CALL_STATE_RINGING: //铃响
                    String result = dao.findModel(phoneNumber);
                    if ("电话拦截".equals(result) || "全部拦截".equals(result)) {
                        Log.i("MainActivity", "挂断电话" + phoneNumber);
                    }
                    break;
            }
        }
    }

}

这是在服务中注册通知

    PhoneReceiver phoneReceiver = new PhoneReceiver();
        IntentFilter pfilter = new IntentFilter("android.intent.action.PHONE_STATE");
        //pfilter.addAction("android.intent.action.NEW_OUTGOING_CALL");
        pfilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); //设置最高优先级
        registerReceiver(phoneReceiver,pfilter);

你加权限了吗?Android 9以上更新了一些权限,你看看有用没: