誰かが私にIntent
の目的を説明してもらえますか?いつ私は自分自身を作るべきですか?私の本の中のIntent
カテゴリについて書かれた唯一のものは、彼らが意図をグループ化できるということですか?インテントカテゴリの目的は何ですか?
答えて
カテゴリは役に立たず、"implicit intent"の可能なターゲットをintent-filter
に記述するために使用されます。
起動するクラス/アクティビティがわかっていて、startActivity()
またはstartActivityForResult()
を使用している場合は、「明示的なインテント」と呼ばれます。
は、ここで暗黙の意図がどのように働くかについての類推だ:
は大きな部屋に座って何もしないすべてのアプリケーションを想像してみてください。 次に、別のアプリケーション(Dropbox)に PDFファイルを開く必要があるとします。 Dropboxアプリはシステムに行き、「ねえ、誰か はこのPDFファイルを開く必要があります...」(これは暗黙のインテントを送信しています)。システムは今部屋に行き、「あなたのうちのどれが にPDFファイルを表示できますか?」という叫び声をします。起きる可能性のあるアプリケーションと システムでは、これらのアプリケーションが表示されます(これらのアプリケーションには、一致するカテゴリ のカテゴリがあります)。あなたのアプリケーションの外で、あなたの活動/ BroadcastReceivers /サービスの一部が利用できるようにしたい場合は
:それは、その後、あなたが アプリケーションのいずれかを選択できるダイアログを提供しています
Android Manifestを使用して "インテントフィルタ"を宣言することができます。そのため、システムまたはアプリが一致する「暗黙のインテント」を起動すると開きます。
あなたはランチャーから開くべき活動のために(たとえば)次の操作を行います。
<activity android:name=".SomeActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
これはアンドロイドランチャー(CATEGORY_LAUNCHER
)によってトリガACTION_MAIN
-actionに耳を傾けます。
あなたの「インテントフィルタ」の2つの子要素があります。
action
を。これは、 "インテントフィルタ"がどのような動作をするかを指定します。- 1つまたは複数
category
s。これは、アクティビティが呼び出される方法を指定します。 が呼び出されます。フルスクリーンモードで正常に起動するアクティビティを告げる
category
Sの一つは、(例えば)であることができる
android.intent.category.DEFAULT
、。 android.intent.category.TAB
- たとえば、このアクティビティはTabActivity
のタブとして宣言されているため、タブとしてのみ開くことができます。
もう1つの例は、android.intent.category.PREFERENCE
-categoryを追加することです。これは、アクティビティを設定 - アクティビティとして宣言します。
自分でcategory
を宣言することも可能でもなくてもかまいません。
これらのイベントはSystem/Another Appによってトリガーされ、トリガーされたときに反応するかどうかを指定することしかできないことを理解する必要があります。
URIデータスキーム/ホストパターンに基づいてインテントと一致させるために必要なCATEGORY_DEFAULTについて言及していません。 –
- 1. 静的な目的は何ですか?
- 2. * .proファイルの目的は何ですか?
- 3. vshostファイルの目的は何ですか?
- 4. ValidationResult.Successフィールドの目的は何ですか?
- 5. `__metaclass__ = type`の目的は何ですか?
- 6. データセットの目的は何ですか?
- 7. SAMLアーティファクトの目的は何ですか?
- 8. net_device.uc_promiscフィールドの目的は何ですか?
- 9. Ember.Containerの目的は何ですか
- 10. AntiForgery.GetTokens:oldCookieTokenパラメータの目的は何ですか?
- 11. config.assets.precompileの目的は何ですか?
- 12. myBatis NStringTypeHandlerの目的は何ですか?
- 13. ldexpの目的は何ですか?
- 14. JMSTemplate.executeの目的は何ですか
- 15. Ember.js - Ember.lookupの目的は何ですか
- 16. React-Router:IndexRouteの目的は何ですか?
- 17. %new&%classの目的は何ですか?
- 18. IEnumeratorの目的は何ですか
- 19. AccountManager(アンドロイド)の目的は何ですか?
- 20. CoreFoundationフレームワークの目的は何ですか?
- 21. ビューポートメタタグの目的は何ですか?
- 22. __name__の目的は何ですか?
- 23. RecognizerIntent.DETAILS_META_DATAの目的は何ですか?
- 24. felix.xmlの目的は何ですか?
- 25. Expressionクラスの目的は何ですか?
- 26. 'Class.forName( "MY_JDBC_DRIVER")'の目的は何ですか?
- 27. CRXファイルの目的は何ですか?
- 28. スカラ:「オーバーライド」の目的は何ですか
- 29. EXTRA_CFLAGSの目的は何ですか?
- 30. IAsyncStateMachine.SetStateMachineの目的は何ですか?
offTopic:androidのインテントカテゴリに従ってアプリケーションのカテゴリを分類できますか –