0
Я спровоцировав IntentService от WakefullBroadcastReceiverКогда устройство находится IntentService сон не вызывался
Intent i = new Intent(context, MyService.class);
i.putExtras(bundle);
Log.i("StartService","Before Wakelock");
WakeLock lock = MyService.getLock(context);
Log.i("StartService","After Wakelock");
lock.acquire();
Log.i("StartService","After Aquire");
context.startService(i);
lock.release();
Log.i("StartService","After Release");
Все вышеуказанные журналы Начало отображаются. Но мое обслуживание не вызвано.
IntentService
public class MyService extends IntentService {
private static final String NAME = MyService.class.getName() + ".Lock";
private static volatile WakeLock lockStatic = null;
synchronized public static PowerManager.WakeLock getLock(Context context) {
if (lockStatic == null) {
PowerManager mgr = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
lockStatic = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, NAME);
lockStatic.setReferenceCounted(true);
}
return (lockStatic);
}
public MyService(String name) {
super(name);
}
public MyService() {
super("MyService");
}
@Override
protected void onHandleIntent(Intent intent) {
try {
Log.i("IntentService", "In HandleIntent");
} finally {
}
}
}
Может кто-нибудь мне помочь ??
Заявили вы вашу службу в файле манифеста? – Kartheek
Если вы действительно используете 'WakefulBroadcastReceiver', и используете его в соответствии с документацией, вам не нужен собственный' WakeLock'. – CommonsWare
@Kartheek Да, и когда устройство активно, услуга набирается – user3616287