1

ドキュメントと他のいくつかを読んで、渡されたURIでインテントが何をするかを実際に指定したものはありませんでした。URIを取得するとどうなるか、単純に興味があります。スキームに依存することはわかっているので、スキームが の場合、httpその Web URI を開こうとしますか?

データを JSON 形式で送り返す RESTful API を使用しようとしているので、質問します。あるアクティビティから別のアクティビティにデータを渡そうとするときに、HttpClient を介して自分で HTTP 呼び出しを行うのではなく、URI を開いてくれると便利です。大したことではありませんが、それがどのように機能するのか興味がありました.

4

3 に答える 3

2

インテントは単なるオブジェクトです... URI では何もしません。Intent は、startActivity()、sendBroadcast() などの関数呼び出しで使用されます。

たとえば、Intent を startActivity() に渡すと、その Intent オブジェクトが Activity で使用できるようになります。アクティビティは、URI を好きなように解釈できます。

Android はインテント フィルターも使用して、インストールされているさまざまなアクティビティにインテントをルーティングします。これらのインテント フィルターは URI を検査する場合があります。

すべての情報についてhttp://developer.android.com/guide/components/intents-filters.htmlを確認してください

于 2012-08-09T20:13:36.457 に答える
1

あなたが何を意味するのか完全には明らかではありませんが、Intents の動作は基本的に Android パッケージ マネージャーによって決定されます。Intent はプロシージャ コールと考えることができます。Intent を処理する人を、いくつかの追加データ (パラメーター)、場合によっては何らかのカテゴリなどと共に指定します。

Android パッケージ マネージャーはインテントを確認し、基本的に「システム上のどのアプリがこのインテントを使用して処理する準備ができているか?」という質問をします。次に、システムはそのアプリを開き (アプリがまだメモリに常駐していない場合)、アプリにインテントをスローします。インテント ハンドラー間にあいまいな可能性が存在する場合があることに注意してください。複数のアプリがインテントを処理するために準備される可能性があります。これは、ユーザーがインテントを処理するアプリを選択するように求められるという形で表示されることがあります (ユーザーはデフォルトのものを選択できます)。

インテントの処理方法の動的セマンティクスは、もちろん、システムにインストールされているアプリのセットに依存し、インストールされているアプリの種類によって変わる場合があります。あなたの場合、ACTION_VIEWアクションが関連付けられているインテントに主に関心があるようです。一般に、URL のように見えるものはブラウザーによって「キャッチ」され (ただし、これが当てはまるという保証はありません!)、パッケージ マネージャーは URI の構造を調べて、「ねえ、これは」と言います。アプリ X で処理する必要があるようです」という URL をアプリ X に送信します。(もちろん、新しいアプリは、他のインテント フィルターを登録することで、この動作を変更できます..)

于 2012-08-09T20:21:14.123 に答える
0

インテントは、実行される操作の抽象的な記述です。uri意図がそれに対して操作を行う必要がある特定のデータ:

意図の構造

インテントの主な情報は次のとおりです。

  • action: ACTION_VIEW、ACTION_EDIT、ACTION_MAIN など、実行される一般的なアクション。

  • data: 操作するデータ (連絡先データベースの個人レコードなど) で、Uri として表されます。
    アクションとデータのペアの例を次に示します。

    ACTION_VIEW content://contacts/people/1 -- 識別子が「1」の人の情​​報を表示します。

    ACTION_VIEW tel:123 -- 指定された番号が入力された電話ダイヤラーを表示します。VIEW アクションが、特定の URI に対して最も妥当と考えられることをどのように行うかに注意してください。

    ACTION_VIEW content://contacts/people/ -- ユーザーが参照できる人のリストを表示します。この例は、連絡先アプリケーションへの典型的な最上位エントリであり、ユーザーのリストを表示しています。表示する特定の人物を選択すると、その人物を表示するアクティビティを開始するために使用される新しいインテント { ACTION_VIEW content://contacts/N } が発生します。

したがって、異なる data/uri を持つ同じ Action が異なる Action on を実行することがわかりますdata operate on

于 2012-08-09T20:14:14.710 に答える