BroadcastReceiver nu funcționează corect

Încerc să scriu o aplicație utilizând Broadcastreceiver. Din păcate, nu funcționează corect (nu face nimic). Ar putea cineva să mă ajute? Aici este codul meu:

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
ce aștepți de la receptorul dvs. de emisie? la ce eveniment ascultați
adăugat autor K_Anas, sursa

1 răspunsuri

Ar trebui să utilizați o acțiune, nu o extra, când înregistrați BroadcastReceiver :

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

Încearcă să folosești așa ceva:

registerReceiver(keyboardReceiver, new IntentFilter(Intent.ACTION_MEDIA_BUTTON));
0
adăugat
Android dezvoltatori, România — Moldova
Android dezvoltatori, România — Moldova
27 participanți

Parteneri: ciupacabra.com, @php_ro, @js_ro, @node_ro iOS: @ro_ios Reguli: https://github.com/js-ro/it-telegram/blob/master/RULES.md