Eventually, the action was added to the “Implicit Broadcast Exceptions” list so you can add ACTION_PHONE_STATE_CHANGED
to your manifest and it will work:
https://developer.android.com/guide/components/broadcast-exceptions
ACTION_CARRIER_CONFIG_CHANGED,
TelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGED,
“TelephonyIntents.SECRET_CODE_ACTION”, ACTION_PHONE_STATE_CHANGED,
ACTION_PHONE_ACCOUNT_REGISTERED, ACTION_PHONE_ACCOUNT_UNREGISTEREDOEM
telephony apps may need to receive these broadcasts.