Ich versuche, willkürliche Daten an eine BroadcastReceiver
durch ihre Intent
zu übergeben.
Also könnte ich etwas wie das folgende tun
%Vor% Und dann übergebe es an die BroadcastReceiver
Ich möchte Intent.getExtras()
mit etwas wie keySet()
durchlaufen, aber ich möchte auch den Wert des Schlüssels erhalten, ohne Aufrufe von Methoden wie .getStringExtra()
oder% co_de hart codieren zu müssen %.
Wie macht eine Person das?
Sie können thye-Schlüssel durchsuchen, ohne den Typ der Werte zu kennen, indem Sie keySet()
verwenden. Sie erhalten eine Menge von String
, mit der Sie iterieren können (siehe doc ).
Aber für die Werte ist es normal, dass Sie eine typisierte Methode verwenden müssen ( getStringExtra()
, getBooleanExtra()
, usw.): Dies liegt daran, dass Java selbst eingegeben wurde.
Wenn Sie Daten beliebiger Typen an Ihre BroadcastReceiver
senden möchten, sollten Sie entweder:
wandle alle deine Extras in String
s um, bevor du sie sendest und alle als String
s:
oder verwenden Sie die Methode get()
von Bundle
, die Object
s zurückgibt (siehe doc ):
Tags und Links android android-intent broadcastreceiver