'How can I display the incoming number as a Toast?

I have to make a simple App for school.

It has to show a toast when a call is received.

The phone call receiver doesn't display anything.

I have this in my manifest, so permissions shouldn't be the issue

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

        <receiver
            android:name=".ReceptorLlamadas"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE"/>
            </intent-filter>
        </receiver>

The code for my broadcastReceiver

public class ReceptorLlamadas extends BroadcastReceiver {

    Context context;
    @Override
    public void onReceive(Context c, Intent intent) {
       try {
           TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

           LlamadaListener listener = new LlamadaListener();
           manager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);          

       } catch (Exception e) {
           Log.e("PhoneCallError", "onReceive: ", e);
       }
    }

    private class LlamadaListener extends PhoneStateListener {

        public void onCallStateChanged(int state, String phoneNumber) {
            if (state == 1) {
                String mensaje = "Llamada entrante del número: " + phoneNumber;
                int duracion = Toast.LENGTH_LONG;

                Toast toast = Toast.makeText(context, mensaje, duracion);
                toast.show();
            }
        }
    }
}

Sorry if I messed up the formatting

Edit: forgot to include some code



Solution 1:[1]

You need to declare Broadcast Receiver in Android Manifest as well just like this in Application tag:

<receiver
    android:name=".ReceptorLlamadas"
    android:enabled="true" />

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 UndefinedBug1.0