Android 隱式調用詳解(Category)

隱試調用代碼(Category)

   Intent intent=new Intent();
       intent.setAction("com.ex.wy3");
      //  intent.setAction("com.ex.wy");
        intent.addCategory("com.ex.wy123");
        startActivity(intent);







這裏寫代碼片

如果我們註釋掉Action代碼會報錯

 Intent intent=new Intent();
       //intent.setAction("com.ex.wy3");
      //  intent.setAction("com.ex.wy");
        intent.addCategory("com.ex.wy123");
        startActivity(intent);

報錯信息

  Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { cat=[com.ex.wy123] }

也就是不能之調用addCategory必須得加上action
如果Intent修改成這樣也會報錯,和action單獨使用有很大區別

 Intent intent=new Intent();
       intent.setAction("com.ex.wy3");
        intent.setAction("com.ex.wy");
        intent.addCategory("com.ex.wy123");

        startActivity(intent);

action只要有一條符合就可以隱試調用了
但是Category必須全部符合纔行
如果加上 intent.addCategory(“com.ex.wy1234”);也會報錯
因爲你的Category必須全部都在xml中定義

 Intent intent=new Intent();
       intent.setAction("com.ex.wy3");

        intent.addCategory("com.ex.wy123");
        intent.addCategory("com.ex.wy1234");
        startActivity(intent);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章