3

システムにアクセスできるようにするために、AndroidManifest.xmlファイルですべてのアクティビティサービスを宣言する必要があることは知っていますが(公式ドキュメントで述べられているように)、開始したいサービスまたはアクティビティがある場合アプリに別のアクティビティがある場合、マニフェストで宣言する必要がありますか? つまり、アプリのプライマリ アクティビティから、セカンダリ アクティビティのクラスを直接指すセカンダリ アクティビティを常に起動します (インテント フィルタの解決はありません)。)、マニフェストで二次活動を宣言する必要はありますか?また、自分のアプリ以外のユーザーが 2 次アクティビティを開始できないようにしたい場合はどうすればよいでしょうか? ばかげた質問で申し訳ありませんが、マニフェスト ファイル内のそれぞれのクラスを指すことによってのみ開始したい場合に、マニフェスト ファイルからアクティビティとサービスを省略することが (可能であれば) 良い習慣であるかどうかを理解したいだけです。同じアプリ。

4

1 に答える 1

5

すべてのアクティビティとサービス (および BroadcastReceivers などのその他すべて) を AndroidManifest.xml ファイルで宣言する必要があります。それ以外の場合は使用できません。


編集: CommonsWare のコメントによると、アクティビティの AndroidManifest.xml の宣言に android:exported="false" を追加すると、セカンダリ アクティビティがアプリケーションの外部で起動されなくなります。

于 2012-05-20T08:58:39.730 に答える