how to get data from activity class to the PhoneStateListener class?
<p>I have a problem in which i cant get data from activity class to the PhoneStateListener class.</p>

<p>for better understanding the code is as bellow:-</p>

<p>//this is the class from where i want to send the data or string</p>

<pre><code>package net.cellobject.blockingincomingcall;

import android.app.Activity;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;



public class SecondTab extends Activity

{

    EditText e1;

    Button b1;

    protected void onCreate(Bundle savedInstanceState) 

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.setting);

        e1=(EditText)findViewById(R.id.edt1);

        b1=(Button)findViewById(R.id.b1);



        LoadPreferences();



        b1.setOnClickListener(new OnClickListener()

        {

            public void onClick(View v) 

            {

                String msg=e1.getText().toString();

                SavePreferences("msg1",msg);

                LoadPreferences();



                if(msg=="")

                {



                Toast.makeText(getApplicationContext(), "First 


                                               Enter the message then save it"

                                               ,Toast.LENGTH_LONG).show();

                    e1.requestFocus();

                }

            }

        });



    }


    private void LoadPreferences() 

    {

        SharedPreferences shp= getPreferences(MODE_PRIVATE);

        String s1=shp.getString("msg1","");

        e1.setText(s1);



    }

    private void SavePreferences(String key, String msg) 

    {

        SharedPreferences shp= getPreferences(MODE_PRIVATE);

        SharedPreferences.Editor editor=shp.edit();

        editor.putString(key, msg);

        editor.commit();



    }

}
</code></pre>

<p>//this is the class where i want to get the data or string which is extends with PhoneStateListener?</p>

<pre><code>package net.cellobject.blockingincomingcall;



import java.lang.reflect.Method;



import android.content.Context;

import android.media.AudioManager;

import android.telephony.PhoneStateListener;

import android.telephony.TelephonyManager;

import android.util.Log;



import com.android.internal.telephony.ITelephony;



public class PhoneCallStateListener extends PhoneStateListener 

{   

    private Context context;    



    public PhoneCallStateListener(Context context)

    {

        this.context = context;

    }



    public void onCallStateChanged(int state, String incomingNumber) 

{           

        switch (state) 

        {

            case TelephonyManager.CALL_STATE_RINGING:               


            AudioManager audioManager = (AudioManager) context.

                                                 getSystemService(Context.AUDIO_SERVICE);   

                //Turn ON the mute

                audioManager.setStreamMute(AudioManager.STREAM_RING, true);     



            TelephonyManager telephonyManager = (TelephonyManager) context.

                                               getSystemService(Context.TELEPHONY_SERVICE);

                try {

                    @SuppressWarnings("rawtypes")



        Class clazz = Class.forName(telephonyManager.getClass().getName());



            Method method = clazz.getDeclaredMethod("getITelephony");



                    method.setAccessible(true);


    ITelephony telephonyService = (ITelephony) method.invoke(telephonyManager);     

                    //Checking incoming call number


                    String incomming=incomingNumber.toString();



                    if (incomingNumber.equalsIgnoreCase(incomming)) 

                    {

                        Log.v("incomming_call",incomming);




                        telephonyService.endCall();

                                        sendSMS(incomming, "I am Busy!!call me latter");

                    }


                } catch (Exception e) {

                    e.printStackTrace();

                }


            audioManager.setStreamMute(AudioManager.STREAM_RING, false);

                break;

        }

        super.onCallStateChanged(state, incomingNumber);

    }



    private void sendSMS(String incomming, String string) 

    {

        android.telephony.SmsManager sms=android.telephony.SmsManager.getDefault();

        sms.sendTextMessage(incomming, null, string, null, null);



    }

}
</code></pre>

<p>please help me out its really urgent.</p>
