2012-01-02 3 views
0

明示的なインテントを使用して1つのアクティビティを別のアクティビティに移動し、それをマニフェストファイルで宣言します。明示的なインテントでのインテントフィルタの使用

<activity 
    android:name=".Activity2" 
    android:label="Activity 2"> 

    <intent-filter 
     action android:name="com.tr.ACTIVITY2" 
     category android:name=”android.intent.category.DEFAULT"> 
    </intent-filter> 
</activity> 

それが正常に動作しますが、1冊の本はこのためintent-filterを使用して、私たちはインテントフィルタを使用する場合について混乱しています。

+0

あなたは両方のサンプルを書くことができますか? –

+1

[あなたは新しいquesitonを投稿する前にいくつかのgoogleをやってください](http://www.google.com.pk/search?q=Implicit+vrs+Explicit+Intents)、特に[this one](http:// developer .android.com/guide/topics/intents/intents-filters.html#ifs) –

+0

私は明示的な意図を使用しているので、インテントフィルタを書く必要はないと考えています – user1126025

答えて

11

明示的なインテントを使用すると、Androidに「オープンなアクティビティ2」を伝えるようになります。

暗黙のインテントを使用する場合は、Androidに「これらのことを行うことができるアクティビティを開く」と伝えます()。 これらのものは、実際にはActivity2のマニフェストに書き込むフィルタです。一例として、

、あなたがActivity1にあり、Activity2を開始する場合:

あなたが明示的に持つことができます。

Intent intent = new Intent(Activity1.this, Activity2.class); 
startActivity(intent); 

または暗黙的な:

Intent intent = new Intent(); 
intent.addAction("myAction"); 
intent.addCategory("myCategory"); 
startActivity(intent); 

そして、この場合、あなたの中にマニフェストファイルに次のようなものを入れてください:

<activity android:name=".Activity2"> 
    <intent-filter> 
     <action android:name="myAction"/> 
     <category android:name="myCategory"/> 
    </intent-filter> 
</activity> 
関連する問題