アクティビティを作成したいが、それをマニフェストファイルで宣言する必要はない。これは可能ですか?すべてのアクティビティがマニフェストで宣言されている必要がありますが、組み込みのChooserActivityなどのアクティビティがマニフェストファイルで宣言されていないことに気付きました。マニフェストファイル内のすべてのアクティビティを宣言しなければなりませんか?
答えて
短い答え:はい、アプリケーションのすべてのアクティビティをマニフェストで宣言する必要があります。 Androidのドキュメントで説明したように、(とりわけ)マニフェストの目的は次のとおりです。 - アプリケーションが構成されての活動、サービス、ブロードキャストレシーバ、およびコンテンツプロバイダ
これは、アプリケーションのコンポーネントについて説明しますの。コンポーネントの各 を実装し、その機能を公開するクラスに名前を付けます(たとえば、彼らが扱うことができる のインテントメッセージ)。これらの宣言は、Android システムコンポーネントが何であるかを知っていると、彼らは 起動することができますどのような条件の下でみましょう。)
http://developer.android.com/guide/topics/manifest/manifest-intro.html#ifs
したがって、アプリケーション における任意のActivityクラスはあなたのマニフェストで定義する必要があります。これらのコンポーネントがアプリケーションの外部からアクセスできない場合でも、インテント、サービスなどで同じことが起こります。ChooserActivityとコードで定義しなかったアクティビティは別のマニフェストで独自の定義を持ちます。アプリケーションの外部にある既存のアクティビティを何らかの理由でサブクラス化することを決めた場合は、それをマニフェストにも定義する必要があります。
デザインポイントからAndroidに新しい人がいるので、これはまったく意味がありません!マニフェストに含まれていないアクティビティを定義することはできません。また、コードに含まれていないエントリをマニフェストできないため、コンパイラがそれを処理できないのはなぜですか?例外のマニフェストをデフォルトの設定にしておき、残りの部分をコンパイラに「埋め込む」ようにしてください!なぜ私たちはそれをやりますか? ...それは私の理解が間違っていない限り、私は何かが不足している場合、私は学ぶことができるので、分けてください。今のところ、退屈で不必要な書類のように思えるからです! – MarqueIV
私は明らかに、自分のアプリで*私が定義したアクティビティを指しています。私のアプリで使用できるものはありません(システム提供アクティビティなど)。)あなたがクラスを定義した場合は、それをマニフェストに追加する責任があります。マニフェストは外部のものではなく、定義したアクティビティにのみ適用されます。なぜなら、なぜこれがコンパイラによって推論されないのでしょう?明示的な設定は必要ありませんか?指定されていないもののデフォルトを定義するために 'ImplicitActivity'を追加してください。 – MarqueIV
あなたの議論にはいくつかメリットがあるかもしれません。ただし、1)サポートする既存のツールチェーンとOSバージョンがあること2)プロジェクトやライブラリにアクティビティ/サービス/ブロードキャスト受信者/ etcがあり、アプリケーションを起動したり使用したりしたくない場合があります(基本アクティビティやAppCompatActivityなど)3)これらのコンポーネントのデフォルト設定は、タイトル、アイコン、インテントフィルタ、テーマ、起動モード、メタデータなど4)他の議論や制約があるかもしれません – TheIT
アクティビティを作成したいが、それをマニフェストファイルで宣言する必要はない。これは可能ですか?
いいえ、ごめんなさい。
は私が気付いているようないくつかの活動、ビルトインChooserActivity、
その活動は、アプリケーションの一部ではない、私のマニフェストファイルで宣言されていません。これは、コアオペレーティングシステムの一部です。
- 1. ボディが宣言されていなければなりません(CS0501)
- 2. ASP.NETコンパイルエラーが体を宣言しなければなりません
- 3. エラーメッセージを理解できません:スカラー変数 "@Username"を宣言しなければなりません。
- 4. タイプパラメータの宣言は、タイプではない識別子でなければなりません
- 5. GCCのコンパイルエラー: 'strlen'の宣言が利用可能でなければなりません
- 6. スカラー変数を宣言しなければならない
- 7. スカラー変数vb.netを宣言しなければならない
- 8. AFNetworkingビルドエラー: "匿名クラスの宣言は定義でなければなりません"
- 9. ステージの宣言:: add()は、TherapyElement :: add(TherapyElement $ TA)と互換性がなければなりません。
- 10. すべてのCSSをHTML文書の中に入れなければなりませんか?
- 11. 'strcmp'がこのスコープ内で宣言されていません
- 12. どのような順序でWeb言語を学ばなければなりませんか?
- 13. using宣言は、using宣言の上に宣言されたオーバーロードだけをインポートしますか?例えば
- 14. このCSS宣言はなぜ表示されませんか?
- 15. テンプレートのパラメータはタイプでなければなりませんか?
- 16. ...あなたのAndroidManifest.xmlでこのアクティビティを宣言しました
- 17. 'NSKeyValueObserving'のプロトコル宣言が見つかりません。しかし、なぜ?
- 18. はなぜ<宣言しなければならないのPHP
- 19. ここで私はMPMoviePlayerの通知機能を宣言しなければなりません。助けてください
- 20. kCustomButtonHeight宣言されていません
- 21. WWW :: Mechanizeと "HTTP ::メッセージの内容はバイトでなければなりません"
- 22. 警告:宣言は何も宣言していません
- 23. メインクラスのすべてのメソッドは静的でなければなりませんか?
- 24. コードの先頭にパッケージを宣言しなければならなかったのはなぜですか?
- 25. 他のパッケージで宣言されているアクティビティを見つけることができません
- 26. パスワードフィールドは一意でなければなりませんか?
- 27. sparkjava:ルートはメインメソッドでなければなりませんか?
- 28. Rails 3.1アセットパイプラインのマニフェストファイルはjavacriptsを受け取りません
- 29. インターフェイスの実装は独立していなければなりません
- 30. SQLExceptionスカラー変数 "@variableName"を宣言しなければならない
ChooserActivityは別のマニフェストファイルで宣言され、アプリケーションに公開されます。あなたの質問に答えるのを助けるかもしれないマニフェストにそれを入れないあなたの目標は何ですか? – sgarman
Xamarin.Androidは自動的に属性を使用します(これはJavaの注釈に似ています)。おそらくJavaでこれを行うツールを作成することもできます。 –