vi este tema
¿Escuchar los botones de volumen en el servicio de fondo?
y sepa que la forma de escuchar las teclas de volumen en el servicio de fondo es detectar la cantidad de volumen del sistema (o música ...) y ver si disminuye o aumenta podemos detectar botones
Veo una aplicación que detecta presionar el botón para subir/bajar el volumen al mismo tiempo en modo bloqueado o con la pantalla apagada y está usando AccessibilityService. ¿como es posible?
https://play.google.com/store/apps/details?id=in.blogspot.anselmbros.torchie&hl=es
Puede crear BroadcastReceiver dentro de Service.
public class MyService extends Service { @Override public void onCreate() { super.onCreate(); final BroadcastReceiver vReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //your code here } }; registerReceiver(vReceiver, new IntentFilter("android.media.VOLUME_CHANGED_ACTION")); } }O reproducir medios con 0 volumen en segundo plano y luego Reciever siempre escuchará la tecla con MediaButtonIntent como se muestra en esta muestra de GitHub