Warum onReceive wird nicht aufgerufen, erweitern BroadcastReceiver in Android

der onReceive-Methode nicht für einige Grund
Ich habe keine Filter angewendet, oder alles,

Hier ist die Klasse :

import java.util.ArrayList;
import java.util.Calendar;

import android.content.BroadcastReceiver;
import android.content.Intent;
import android.content.Context;
import android.util.Log;

public class RegisterListener extends BroadcastReceiver {
private final int DELAY_TIME = 5;
private int m_seconds = 0;
private int m_minutes = 0;
private int m_hours   = 0;
static ArrayList<BroadcastReceiverListener> listeners = new ArrayList<BroadcastReceiverListener>();

@Override
public void onReceive(Context context, Intent intent) {

    Log.d("ScreenReceiver Action:",intent.getAction());

    Calendar c = Calendar.getInstance(); 
    m_seconds = c.get(Calendar.SECOND);
    m_minutes = c.get(Calendar.MINUTE);
    m_hours = c.get(Calendar.HOUR);

    for (BroadcastReceiverListener listener:listeners){
           listener.onReceive(m_hours, m_minutes, m_seconds);
        }
}


public static void addBroadcastReceiveListener (BroadcastReceiverListener listener){
    if(!listeners.contains(listener)){
        listeners.add(listener);
    }
}

public void removeBroadcastReceiveListener (BroadcastReceiverListener listener){
    if(listeners.contains(listener)){
        listeners.remove(listener);
    }
}

Hier ist die Deklaration in der manifest - (Kind-Anwendung)

<receiver android:name=".RegisterListener"></receiver>

Edit :
Dies ist der filter habe ich versucht, hinzuzufügen (in der onReceive() )

    IntentFilter filter = new IntentFilter(Intent.ACTION_USER_PRESENT);
    BroadcastReceiver mReceiver = new RegisterListener();
    registerReceiver(mReceiver, filter);

Bekomme ich eine Fehlermeldung :

The method registerReceiver(BroadcastReceiver, IntentFilter) is undefined for the type RegisterListener
Sieht gut aus, wie Sie broadcast-Intents? Poste diesen code.
Wie wäre es mit einem intent-filter im Empfänger-Erklärung; check out vogella.com/articles/AndroidBroadcastReceiver/article.html
Ich möchte zu fangen ACTION_USER_PRESENT , bevor ich hinzufügen, dass jeder Filter, sollte ich nicht fangen jede Absicht, ohne es ? wie auch immer, ich versuchte, Sie zu Filter hinzufügen, aber wenn ich einen filter hinzufügen, kann es nicht finden, die registerReceiver Methode.
Meine Antwort an stackoverflow.com/a/40826231/6684508 könnte hilfreich sein.

InformationsquelleAutor SagiLow | 2013-03-29

Schreibe einen Kommentar