Friday, January 20, 2012

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

1 comment:

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

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

    ReplyDelete