android wakelock not released after getActiveNetworkInfo -
i want automatically check internet connection every x minutes , send data server. however, following (minimal) code gives warning in eclipse, saying release() call not reached.
powermanager pm = (powermanager) context.getsystemservice(context.power_service); powermanager.wakelock wl = pm.newwakelock(powermanager.partial_wake_lock, ""); wl.acquire(); // check active network connectivitymanager cm = (connectivitymanager)context.getsystemservice(context.connectivity_service); networkinfo info = cm.getactivenetworkinfo(); // start service uploads data wl.release(); i don't see how wl.release() possibly not called bug in eclipse or missing? don't want app cause wake lock.
i don't see how wl.release() possibly not called
well, if nothing else, not handling exceptions. if between acquire() , release() raises runtimeexception, crash , leak wakelock. use this:
powermanager pm = (powermanager) context.getsystemservice(context.power_service); powermanager.wakelock wl = pm.newwakelock(powermanager.partial_wake_lock, ""); wl.acquire(); try { // check active network connectivitymanager cm = (connectivitymanager)context.getsystemservice(context.connectivity_service); networkinfo info = cm.getactivenetworkinfo(); // start service uploads data } { wl.release(); }
Comments
Post a Comment