Prexx
Prexx

Reputation: 2979

Simple BroadcastReceiver won't work

I try to develope a simple Broadcastreceiver.

Here's my code:

public class MyClass extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        Bundle extras = intent.getExtras();
        if (extras != null) {
            String state = extras.getString(TelephonyManager.EXTRA_STATE);
            Log.w("DEBUG", state);
            if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
                String phoneNumber = extras
                        .getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
                Toast.makeText(context, phoneNumber, Toast.LENGTH_LONG).show();
                Log.w("DEBUG", phoneNumber);
            }
        }
    }
}

Manifest.xml:

<uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >

        <receiver android:name=".MyClass">

            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE"></action>
            </intent-filter>
        </receiver>
    </application>

All i want to do is to 'toast' the Number i'm calling (or when i get called).

Isn't it working that way? Its the only code i use at the moment. Just one Broadcastreceiver running in the background and fired with a phone-event.

Thanks, prexx

Upvotes: 0

Views: 381

Answers (1)

Cristian
Cristian

Reputation: 200080

You need to add this permission to the manifest:

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

Upvotes: 1

Related Questions