Skip to main content

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


Comments

  1. You need to add this permission to the manifest:

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

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?