Android中顯式意圖和隱式意圖的區別


1.顯式意圖
可以直接通過名稱開啟指定的目標組件:
通過構造方法Intent(Context packageContext,class<?>cls)來實現。
 button_1 = (Button) findViewById(R.id.button_1);
    button_1.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View view) {
           // finish();
            //顯示意圖
            Intent intent = new Intent(MainActivity.this,SecondActivity.class);
            startActivity(intent);
        }
    });
}

 


2.隱式意圖
比較抽象,它並沒有明確的指定要開啟哪個目標組件,而是通過指定action和category等屬性信息,系統根據這些信息進行分析,然后尋找目標Activity
  添加一個category,需要在注冊文件中加一行代碼
  @Override
            public void onClick(View view) {
              
                //隱式意圖
                Intent intent = new Intent("com.example.activitytest.ACTION_START");
                //添加一個category,需要在注冊文件中加一行代碼
                // <category android:name="com.example.activitytest.MY_CAT  EGORY"/>
                startActivity(intent);
                intent.addCategory("com.example.activitytest.MY_CATEGORY");
            }
        });
    }

 



//隱式意圖更多用法
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);

 
















































































































































免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM