Wake lock required for BroadcastReceiver while pho

2019-08-17 08:11发布

问题:

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);
    }
}