O PhoneStateListener do Android Nougat não é acionado

No Android (destino 25), tenho um serviço em segundo plano e, na função onCreate, inicializei um ouvinte de estado do telefone. Ele funciona bem nas versões do Android anteriores ao Nougat, mas no Nougat não funciona, mesmo que as permissões sejam concedidas.

public class Service extends IntentService
{
    class PhoneListener extends PhoneStateListener
    {
       String TAG = getClass().getName();
       @Override
       public void onCallStateChanged(int state, String incomingNumber) 
       {
           super.onCallStateChanged(state, incomingNumber);
           switch (state)
           {
               case TelephonyManager.CALL_STATE_IDLE:
                Log.d(TAG,"IDLE" );
               break;
               case TelephonyManager.CALL_STATE_OFFHOOK:
                Log.d(TAG,"OFFHOOK");
               break;
               case TelephonyManager.CALL_STATE_RINGING:
                Log.d(TAG,"RINGING");
               break;
           }
       }
   }

   public Service ()
   {
       super("ChatService");
   }
   public Service(String name)
   {
       super(name);
   }

   @Override
   public void onCreate()
   {
       super.onCreate();
       TelephonyManager tm = (TelephonyManager)getApplicationContext().getSystemService(TELEPHONY_SERVICE);
       PhoneListener listener = new PhoneListener();
       tm.listen(listener,PhoneStateListener.LISTEN_CALL_STATE);
   }
}

Não sei qual é o problema, parece que o gerente de telefonia não está registrado e, portanto, o onCallStateChanged não é acionado. Um dos meus palpites é o recurso Doze, que foi introduzido no Android M, mas ainda assim .. esse código funciona bem no Android 6, mesmo quando o telefone não é encontrado "em funcionamento"

questionAnswers(2)

yourAnswerToTheQuestion