What's new
DroidForums.net | Android Forum & News

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Help with a BraodcastReceiver

r2sjoblom

New Member
My situation is that I want to call a particular method to get called from ClassA from inside my ClassB which extends the BroadcastReceiver class. I understand how to do this from inside another class file etc and how to setup the BroadcastReceiver, or so I thought.
Below is the class file that extends the BroadcastReceiver.
Code:
 public class WatchPhone extends BroadcastReceiver {
[COLOR=#00008b]private[/COLOR] [COLOR=#2b91af]ClassA[/COLOR] classA = new ClassA(); 
 
[COLOR=#800000]@Override[/COLOR] 
[COLOR=#00008b]public[/COLOR] [COLOR=#00008b]void[/COLOR] onReceive([COLOR=#2b91af]Context[/COLOR] context, [COLOR=#2b91af]Intent[/COLOR] [COLOR=#2b91af]BackToMain[/COLOR]) { 
    [COLOR=#808080]// TODO Auto-generated method stub[/COLOR] 
    [COLOR=#2b91af]TelephonyManager[/COLOR] telephony = ([COLOR=#2b91af]TelephonyManager[/COLOR])context.getSystemService([COLOR=#2b91af]Context[/COLOR].TELEPHONY_SERVICE);  
    [COLOR=#00008b]int[/COLOR] state = telephony.getCallState();  
    [COLOR=#00008b]switch[/COLOR](state) {  
        [COLOR=#00008b]case[/COLOR] [COLOR=#2b91af]TelephonyManager[/COLOR].CALL_STATE_RINGING: 
            [COLOR=#2b91af]Log[/COLOR].d([COLOR=#800000]"TestServiceReceiver"[/COLOR], [COLOR=#800000]"IDLE"[/COLOR]);  
            classA.[COLOR=#2b91af]IwantToDoThis[/COLOR](); 
            [COLOR=#00008b]break[/COLOR];  
    } 
}

The method that I am trying to call does work great in the application if I manually request it. In my AndroidManifest.xml I added this

Code:
    [COLOR=#800000]<uses-permission[/COLOR] [COLOR=#ff0000]android:name[/COLOR]=[COLOR=#0000ff]"android.permission.READ_PHONE_STATE"[/COLOR][COLOR=#800000]/>[/COLOR]
and this at the bottom just above the closing application tag.
Code:
            [COLOR=#800000]<receiver[/COLOR] [COLOR=#ff0000]android:name[/COLOR]=[COLOR=#0000ff]".WatchPhone"[/COLOR][COLOR=#800000]>[/COLOR] 
                    [COLOR=#800000]<intent-filter>[/COLOR]  
                    [COLOR=#800000]<action[/COLOR] [COLOR=#ff0000]android:name[/COLOR]=[COLOR=#0000ff]"android.intent.action.PHONE_STATE"[/COLOR] [COLOR=#800000]/>[/COLOR]  
                    [COLOR=#800000]</intent-filter>[/COLOR]  
            [COLOR=#800000]</receiver>[/COLOR]
When the phone rings, the application crashes then closes. Any ideas on what I should do.
 
Back
Top