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

Popular posts from this blog

matlab - Deleting rows with specific rules -

jquery - How would i go about shortening this code? And to cancel the previous click on click of new section? -