2012-06-02 3 views
-1

Я пытаюсь написать приложение с помощью Broadcastreceiver. К сожалению, он работает неправильно (он ничего не делает). Может кто-нибудь мне помочь? Вот мой код:BroadcastReceiver не работает должным образом

import android.app.Activity; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.widget.Toast; 

public class MyApp extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     registerReceiver(keyboardReceiver, new IntentFilter(Intent.EXTRA_KEY_EVENT)); 
    } 

    private BroadcastReceiver keyboardReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context c, Intent i) { 
      KeyEvent keyEvent = (KeyEvent)i.getExtras().get(Intent.EXTRA_KEY_EVENT); 
      int test = keyEvent.getKeyCode(); 
      Toast.makeText(getApplicationContext(), String.valueOf(test), Toast.LENGTH_SHORT); 
     } 
    }; 
} 
+0

какие вы ожидаете от своего вещательного приемника? какое событие вы слушаете –

ответ

0

Вы должны использовать действия, а не дополнительный, при регистрации BroadcastReceiver:

registerReceiver(keyboardReceiver, new IntentFilter(Intent.EXTRA_KEY_EVENT)); 

Попробуйте использовать что-то вроде этого:

registerReceiver(keyboardReceiver, new IntentFilter(Intent.ACTION_MEDIA_BUTTON)); 
Смежные вопросы