Hi i'm trying to use a widget to enable/disable a broadcastreceiver
my code is below. It registers the receiver fine when the widget is pressed 
(it starts this service) but it wont unregister the receiver.
What am i doing wrong? thanks for any help.

import android.app.Service;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;


public class SignalSpotWidgetService extends Service 
{ 
final String TAG = "Debug Tag";
 @Override
public void onStart( Intent intent, int startId )
{ 
SharedPreferences sharedPreferences = 
getApplicationContext().getSharedPreferences(SignalSpot.SHARED_PREFS_NAME, 
0);
boolean enabled = sharedPreferences.getBoolean("enabled", false);
Log.i(TAG,"Enabled: "+enabled);
//
SharedPreferences.Editor editor = sharedPreferences.edit();
       Log.i(TAG,"Just before if");
        if (!enabled) {
            try
            {IntentFilter filter = new IntentFilter();
        filter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
        SignalReceiver receiver = new SignalReceiver();
            Log.i(TAG,"Not enabled. Attempting to enable");
            registerReceiver(receiver, filter);
            Log.i(TAG,"Registered reciver");
            editor.putBoolean("enabled", true);
            editor.commit();
            Log.i(TAG,"Commited value");
            Toast.makeText(getApplicationContext(), "Enabled", 
Toast.LENGTH_LONG).show();
            Log.i(TAG,"Toast");
            }
            catch (Exception e)
            {
            Toast.makeText(getApplicationContext(), "Cannot Enable.\n" +
            "It May already be enabled. Please Try Again", 
Toast.LENGTH_LONG).show();}
        } else {
            try{
            SignalReceiver receiver = new SignalReceiver();
            Log.i(TAG,"Enabled. Attempting to disable");
            unregisterReceiver(receiver);
            Log.i(TAG,"Unregistered receiver");
            editor.putBoolean("enabled", false);
            editor.commit();
            Log.i(TAG,"Commited value");
            Toast.makeText(getApplicationContext(), "Disabled", 
Toast.LENGTH_LONG).show();
            Log.i(TAG,"Toast");
            }
            catch (Exception e)
            {Log.i(TAG,e.getMessage());
            Toast.makeText(getApplicationContext(), "Cannot disable.\n" +
            "It May not yet be enabled. Please Try Again", 
Toast.LENGTH_LONG).show();}
            
        }
 }

@Override
public IBinder onBind( Intent intent )
{ 
IBinder binder = null;
return binder;
}

@Override
public void onCreate() 
{ Log.i(TAG,"onCreate");
//
}

@Override
public void onDestroy() 
{ 
} 
}
 

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to