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);
