Muss ich jede Aktivität in einer Manifest-Datei deklarieren?

8

Ich möchte eine Aktivität erstellen, muss sie aber nicht in der Manifestdatei deklarieren. Ist das möglich? Überall, wo ich gesehen habe, scheint es, dass jede Aktivität im Manifest deklariert werden muss, aber ich stelle fest, dass einige Aktivitäten, wie die eingebaute ChooserActivity, nicht in meiner Manifest-Datei deklariert sind.

    
Gadzair 12.12.2013, 00:20
quelle

2 Antworten

13

Kurze Antwort: Ja, jede Aktivität in Ihrer Anwendung muss im Manifest deklariert sein. Wie in den Android-Dokumenten beschrieben, ist der Zweck des Manifests (unter anderem):

  

Es beschreibt die Komponenten der Anwendung - die Aktivitäten, Dienste, Rundfunkempfänger und Inhaltsanbieter, die die   Anwendung besteht aus. Es benennt die Klassen, die jedes implementieren   der Komponenten und veröffentlicht ihre Fähigkeiten (zum Beispiel, welche   Intent-Nachrichten, die sie verarbeiten können). Diese Deklarationen lassen das Android zu   System wissen, was die Komponenten sind und unter welchen Bedingungen sie können   gestartet werden.)

Ссылка

Daher muss jede Aktivitätsklasse in Ihrer Anwendung in Ihrem Manifest definiert sein. Das Gleiche gilt für Intents, Services usw., auch wenn diese Komponenten nicht von außerhalb Ihrer Anwendung zugänglich sind.

Wie bei ChooserActivity und jeder anderen Aktivität, die Sie nicht im Code definiert haben, haben sie ihre eigenen Definitionen in einem anderen Manifest. Wenn Sie sich aus irgendeinem Grund dafür entscheiden, eine existierende Aktivität von Ihrer Anwendung abzuleiten, müssen Sie sie auch in Ihrem Manifest definieren.

    
TheIT 12.12.2013, 01:22
quelle
9
  

Ich möchte eine Aktivität erstellen, muss sie aber nicht in der Manifestdatei deklarieren. Ist das möglich?

Nein, tut mir leid.

  

Ich stelle fest, dass einige Aktivitäten, wie beispielsweise die integrierte ChooserActivity, nicht in meiner Manifestdatei deklariert sind

Diese Aktivität ist nicht Teil Ihrer Anwendung. Es ist Teil des Kernbetriebssystems.

    
CommonsWare 12.12.2013 00:35
quelle