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