criei uma classe BroadcastReceiver no meu projeto android para executar uma determinada ação quando o usuario apertar o botao de ligar a tela (SCREEN_ON) e outra ação quando apagar a tela (SCREEN_OFF).
Codigo:
public class ScreenReceiver extends BroadcastReceiver
{
public static boolean wasScreenOn = true;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
// do whatever you need to do here
wasScreenOn = false;
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
// Get instance of Vibrator from current Context
Vibrator v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 300 milliseconds
v.vibrate(1000);
wasScreenOn = true;
}
}
Manifest:
<application>
......
<receiver android:name="br.com.broadcastreceiver.ScreenReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON"></action>
<action android:name="android.intent.action.SCREEN_OFF"></action>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
</application>
Mas ele nunca entra no metodo onReceive()... debuguei, e ele nunca entra la...
o q eu estou fazendo de errado?
Estou rodando o projeto no celular atraves do usb debugging.
me ajudem porfavor!

