Nunca entra no metodo onReceive()

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:

[code]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;
    }
}[/code]

Manifest:

[code]

</application>[/code]

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!

Tem certeza que a category é DEFAULT? :open_mouth:

entao kra… to meio perdido nisso…

qual category se encaixaria melhor para o q eu pretendo fazer?

Me diz uma coisa, você está debugando no celular ou emulador?

Vai que o emulador ou aparelho não envia a action SCREEN_OFF quando clica no botão físico de travar a tela?

Porque você não faz ao invez de Action, por onKeyDown() ?

Já tentou?

Abraço.

debuguei pelo celular kra, mas tipo … rodei no celular e fiquei debugando no eclipse…

por onKeyDown() seria perfeito! mas eu nao achei um metodo de pegar o onkeydown do botao de ligar a tela :confused:

parece que nao tem como…

vc conhece alguma forma?

ate achei esse codigo:

public boolean onKeyDown(int keyCode, KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) { // do what you want with the power button return true; } return super.onKeyDown(keyCode, event); }

mas o problema é que isso roda apenas com a activity… se o sistema nao estiver com a activity aberta eu nao irei conseguir o evento :confused: