Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Geschrieben

Guten Morgen alle zusammen

ich möchte auf meinen Bricklets die Listener entfernen, dazu gibt es (leider) nur eine Methode, wobei der entfernende Listener bekannt sein muss. Dies ist nicht immer der Fall, v.a. wenn man anonyme Klassen für die Listener verwendet.

 

Ich habe auch keine Methoden gefunden, um an alle Listeners eines Bricklets zu kommen! Wäre es möglich, entsprechende Methoden aufzunehmen?

Zum Beispiel removeAllTemperatureListeners() oder getAllTemperatureListeners() für das Temperatur-Bricklet.

Geschrieben

Ich muss sagen die Idee finde ich sehr gut.

Damit könnte man dann ja auch überprüfen ob auf dem Bricklet ein Listener aktiv ist oder nicht und notfalls einen starten.

Wichtig wäre, dass diese Infos dann aber auch direkt vom Brick/Bricklet kommen und nicht aus der Liste in den Bindings.

Geschrieben
  • Autor

Wichtig wäre, dass diese Infos dann aber auch direkt vom Brick/Bricklet kommen und nicht aus der Liste in den Bindings.

 

Die Listeners selbst müssen aus den Bindings kommen. Ich vermute nicht, dass die Brick/Bricklets überhaupt wissen, dass es Listeners hat? Ansonsten könnte man noch so Methoden wie hasTemperatureListener() machen, welche halt mit true/false antworten.

Geschrieben

Oder so. Mir ist wichtig, dass ich in meinem Programm sehen kann ob ein Bricklet gerade für ein Listener registriert ist oder nicht.

Geschrieben

Es ist zweiteilig:

 

Das tatsächliche Bricklet (also die Hardware) sendet dann die Callbacks aus, wenn beispielsweise bei der Temperatur die CallbackPeriod gesetzt ist. Alles weitere interessiert das Bricklet nicht.

 

Deine Bindings hingegen merken sich nun welche Listener jeweils registriert sind und stellen das jeweils zu sobald eine Nachricht vom Bricklet kommt.

 

Methoden zum einzelnen Entfernen sollten meiner Erinnerung nach gut möglich sein. Bei den Is*-Methoden würdest du halt abfragen ob gerade ein Listener registriert ist, aber NICHT ob auch die entsprechende Period einen Wert > 0 hat. Das müsstest du dann in zwei Abfragen erledigen wenn du beides wissen willst.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.