问题
Trying to write a Broadcast Receiver that processes incoming SMSs. Do I need to use a wake lock / partial wake lock, for this application to work, in spite of device going to sleep due to lack of foreground activity ?
回答1:
I tend to extend a WakefulBroadcastReceiver to simplify things, so in a way yes. For example:
public class MyBroadcastReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final ComponentName comp = new ComponentName(context.getPackageName(),
MyIntentService.class.getName());
// Start the service, keeping the device awake while it is launching.
startWakefulService(context, (intent.setComponent(comp)));
setResultCode(Activity.RESULT_OK);
}
}
来源:https://stackoverflow.com/questions/25730227/wake-lock-required-for-broadcastreceiver-while-phone-sleeps