Ich habe auf Service, der mit einer Aktivität (MyActivity) über einen BradcastReceiver kommunizieren muss. Diese BroadcastReceiver ist intosame Aktivität erklären so:Android: Aktivität und Service-Kommunikation
private class MessaggiReceiver extends BroadcastReceiver {
public static final String ACTION_RELOAD = "it.android.dev.thecode.ACTION_RELOAD";
@Override
public void onReceive(Context arg0, Intent intent) {
if(intent.getAction().equals(ACTION_RELOAD)){
leggi_act; //Method of MyActivity
}
}
}
aber wie in Manifest der brodcast enthalten innerhalb der MyActivity erklären müssen? Ich habe diesen Code mit it.android.dev.thecode.MyActivity.MessaggiReceiver
<receiver android:name="it.android.dev.thecode.MyActivity.MessaggiReceiver">
<intent-filter>
<action android:name="it.android.dev.thecode.ACTION_RELOAD"></action>
</intent-filter>
</receiver>
aber falsch ist, dann habe ich diesen Code mit it.android.dev.thecode.myactivity $ MessaggiReceiver
<receiver android:name="it.android.dev.thecode.MyActivity$MessaggiReceiver">
<intent-filter>
<action android:name="it.android.dev.thecode.ACTION_RELOAD"></action>
</intent-filter>
</receiver>
Danke
Wenn Sie es im Manifest deklarieren, muss die Klasse, die es implementiert, sichtbar sein, d. H. Nicht "privat". Legen Sie es in eine separate Datei und machen Sie die Klasse "public". – zapl