android - Stopping a repeating alarm from a BroadcastReceiver - is it possible? -
android - Stopping a repeating alarm from a BroadcastReceiver - is it possible? -
i have alarmmanager sets repeating alarm purpose of periodically querying server.
private alarmmanager alarmmanager; private pendingintent pendingintent; alarmmanager = (alarmmanager) getapplicationcontext().getsystemservice(context.alarm_service); intent photosintent = new intent(this,alarmreceiver.class); //startservice(photosintent); pendingintent = pendingintent.getbroadcast(getapplicationcontext(),0,photosintent,0); alarmmanager.setrepeating(alarmmanager.elapsed_realtime, systemclock.elapsedrealtime(), 10000, pendingintent); and start intentservice within alarmreceiver's onreceive() method. alarmreceiver broadcastreceiver. here onreceive() method:
@override public void onreceive(context context, intent intent) { intent photosintent = new intent(context,jsonphotosparser.class); context.startservice(photosintent); } now, crazy want do, not practical. there way can stop alarmmanager within broadcastreceiver. can think of practical scenario such action required. querying status of network connection using connectivitymanager , if connection exists start intentservice queries server (which current scenario). if network status returns false, stop repeating alarm set alarmmanager.
is possible within broadcastreceiver ? understand alarmmanager can removed using cancel(pendingintent operation). how create pendingintent within broadcastreceiver ?
any help on appreciated. android noob.
refer link :
alarmmanager.cancel (pendingintent operation)
http://developer.android.com/reference/android/app/alarmmanager.html#cancel%28android.app.pendingintent%29
android android-alarms android-broadcast
Comments
Post a Comment