Android BroadcastHandler extends BroadcastReceiver; auf Activity zugreifen?

japa

Aktives Mitglied
Hi, ich habe gerade festgestellt, dass klassen im Activity BroadcastReceiver nicht implementieren kann, es kommt sonst einen "source not found" Fehler.

Meine Frage ist, wie kann ich jetzt allgemein wenn ich etwas von activity brauche, wie mache ich es dann?
Code:
public class BroadcastHandler extends BroadcastReceiver{

	
	@Override
	public void onReceive(Context context, Intent intent) {
		// TODO Auto-generated method stub
		System.out.println("wie kann ich main_activiy benutzen??");		
		
	}

}
 

japa

Aktives Mitglied
Betrachten wir mal folgende Klassen
Activity ACT1
Activity ACT2
BroadcastHandler extends BroadcastReceiver

ACT2 -> sendBroadCast(intent)
BroadcastHandler empfängt das Intent, hier ist meine Frage

Wie kann BroadcastHandler auf "Activity ACT1" zugreifen?
Ich hatte "Activity ACT1 extends BroadcastReceiver" gemacht, aber es kam nur "source not found"

Vertehst du es jetzt, was ich meine?
 
Zuletzt bearbeitet:

stg

Top Contributor
Nein, versteht er nicht. Und auch sonst keiner.
Formuliere die Frage anständig, sonst wird dir hier niemand helfen können.
 

japa

Aktives Mitglied
Also noch mal, es geht hier um Android und Java

ACT1
Code:
public class ACT1 extends Activity {
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
                // do something
        }
}

ACT2
Code:
public class ACT2 extends Activity {
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
                // do something
        }
 //... some code
	public class OnClickHandler implements View.OnClickListener {
   	Intent newIntent = new Intent("MYINTENT");
        sendBroadcast(newIntent);     
        }
}
BroadcastHandler
Code:
public class BroadcastHandler extends BroadcastReceiver{	
	@Override
	public void onReceive(Context context, Intent intent) {
		[B]// WIE KOMME KANN ICH HIER AM BESTEN AUF ACT1 ZUGREIFE[/B]N?		
	}
}

Bis jetzt habe ich die variablen public static gemacht als zwischenlösung.
 
Zuletzt bearbeitet:

dzim

Top Contributor
static == NO-GO!

Auf die Art wie du es machen wolltest geht es nicht. Punkt.

Java:
public class MainActivity extends FragmentActivity {

	private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
		@Override
		public void onReceive(Context context, Intent intent) {
			// TODO implement it here
		}
	};

/*
 * the other methods of the activity
 */
}

BTW: "System.out.println" nutzt man in Android nicht. Verwende stattdessen "android.Log.<v|d|i|w|e|wtf>(String, String [, Throwable])"
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben