registerReceiver für Broadcast nur, wenn es noch nicht registriert ist?

8

Ich habe einen Codeschnipsel, den ich von einem Dienst aus anrufe:

%Vor%

Was ich möchte ist eine Möglichkeit zu überprüfen und sicherzustellen, dass die registerReceiver nicht bereits hört, bevor sie es erneut aufruft. Ist das möglich?

Wenn zum Beispiel mein Codeschnipsel in einer Methode ist und ich die Methode zehnmal aufrufe, scheint die onReceive Methode jetzt 10 Mal zu laufen.

    
pcm2a 26.01.2010, 17:48
quelle

2 Antworten

13

Es gibt keine Möglichkeit herauszufinden - Sie sollten nur registerReceiver aufrufen, am wahrscheinlichsten nach der Erstellung Ihres Dienstes.

Sie müssen auch einen Verweis auf BroadcastReceiver behalten, wenn Sie unregisterService aufrufen ( onDestroy() ist der natürliche Ort dafür), andernfalls wird das System Sie vor undichten Empfangsempfängern warnen und wütend werden und möglicherweise schreien bei dir.

    
Christopher Orr 26.01.2010, 17:52
quelle
0

Was ist mit so etwas?

%Vor%

dann

%Vor%

rufe jetzt t.register so oft du willst!

    
Naheel 19.07.2017 21:22
quelle

Tags und Links