Intent 的簡單理解

Intent是Android程序中三大組件(活動,廣播,服務)之間進行交互的一種重要方式:

①指明當前組件想要執行的動作。

②在不同組件間傳遞數據。

 

Intent大致分爲兩種:

①顯式:其意圖比較明顯,就是要通過一個活動去打開另一個活動,兩者都是知道的。

     button.setOnClickListener(new View.OnClickListener()){

     @Override

     public void onClick(){

     Intent intent = new Intent(FristActivity.this,SecondActivity.class);//就是要在FristActivity中啓動SecondActivity。

     startActivity(intent);

     }

     }

②隱式:其意圖含蓄很多,通過指定一系列抽象的action和category等信息來找到對應的啓動項。

  在AndroidManifest.xml中修改action和category

   <activity android:name=".SecondActivity">

             <intent-filer>

                         <action android:name="com.example.activitytest.ACTION_START"/>

                         <category android:name="com.android.intent.category.DEFAULT"/>

            </intent-filer>

  </activity>

    先通過action的信息來匹配啓動

     button.setOnClickListener(new View.OnClickListener()){

     @Override

     public void onClick(){

     Intent intent = new Intent("com.example.activitytest.ACTION_START");

     startActivity(intent);

     }

     }

    再通過action和category兩個信息來匹配啓動

     button.setOnClickListener(new View.OnClickListener()){

     @Override

     public void onClick(){

     Intent intent = new Intent("com.example.activitytest.ACTION_START");

     intent.addcategory("com.android.acticitytest.MY_CATEFOY")    //這條信息就和我之前預設的category不相同了。

     startActivity(intent);

     }

     }

   因爲找不到與之相同的category信息,所以程序運行後點擊button1程序會崩潰,只需修改這裏的category信息或者

   在AndroidManifest.xml中添加該category信息就可以了。      

 

    

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章