Ich habe Probleme beim Aufruf einer Aktivitätsfunktion in einem Broadcast-Empfängerobjekt. Es gibt einen Toast, der ausgeführt wird, so die Ausführung dort fließt aber die Activity-Funktion an sich nichtAktivität Funktion nicht im Broadcast-Empfängerobjekt aufgerufen
gerufen wirdprotected void onCreate()
{
...
...
this.registerReceiver(receiver, new IntentFilter("ACTION"));
}
BroadcastReceiver receiver = new BroadcastReceiver() {
Toast.makeText(MainActivity.this, "Printed", Toast.LENGTH_LONG).show(); // This runs
FunctionA(); // <-- This function is not called
};
public void FunctionA()
{
... // Function holds view objects
}
Ich sah mich um und versuchte, so etwas wie dies innerhalb des Empfängerobjekt ohne Erfolg
BroadcastReceiver receiver = new BroadcastReceiver() {
Toast.makeText(MainActivity.this, "Printed", Toast.LENGTH_LONG).show(); //<--- This runs fine
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
FunctionA(); // <-- Function still is not called
}
});
}
Frage ist warum wird nicht die Funktion aufgerufen? Gibt es eine Möglichkeit, die Funktion in diesem Broadcast-Empfängerobjekt aufzurufen?
Wie, genau, bestimmen Sie, dass die "Funktion" nicht aufgerufen wird? Was * genau * macht 'FunctionA()'? – CommonsWare
Die Funktion ist verantwortlich für das Ändern von Ansichten auf der Benutzeroberfläche. Ich habe sogar die Funktion angemeldet, die nicht im Logcat ausgedruckt wird. – Czar