Ich möchte einen Rundfunkempfänger als eine innere Klasse in meiner Haupttätigkeit erstellen. Aber ich habe Probleme beim Definieren des Broadcast-Empfängers in der Manifest-XML-Datei , weil Android es nicht finden kann.Ist es möglich, einen Broadcast-Empfänger als innere Klasse in der Manifest-Datei zu definieren?
Code:
public class MyActivity extends Activity{
...
public class Receiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
....
}
}
...
}
Manifest:
<receiver android:name=".org.danizmax.myapp.MyActivity$Receiver" android:enabled="true">
<intent-filter>
<action android:name="org.danizmax.myapp.BROADCAST_INITIAL_DATA"></action>
</intent-filter>
</receiver>
Ich habe versucht, mit:
- .org.danizmax.myapp.MyActivity $ Receiver
- org.danizmax.myapp .MyActivity $ Empfänger
- .MyActivity $ Receiver
- .Receiver
sah ich auch andere ähnliche Probleme haben, aber konnten keine Antworten.
So ist es möglich? Wenn nicht, was ist besser, Rundfunkempfänger zu verwenden?
Danke!
Versuchen Sie, Ihre innere Klasse statisch zu machen. Welches Paketattribut definieren Sie auch in Ihrem Manifest? Das bestimmt den Startpunkt deines Android: Name auf dem Empfänger. –
Ah funktioniert es jetzt mit statischen Klasse und Empfänger Name definiert als .MyActivity $ Receiver. Fügen Sie Ihren Kommentar über das Machen der inneren Klasse Static zu Ihrer ersten Antwort hinzu, damit ich Ihnen etwas Ansehen schicken kann. Vielen Dank! – danizmax
Entschuldigung, ich habe Ihren Kommentar nicht gesehen. Sie werden nur über Kommentare zu Fragen benachrichtigt, wenn es sich um Ihre Frage handelt, oder wenn Sie einen @username am Anfang des Kommentars verwenden. –