1.顯式Intent
Intent intent=new Intent(yzj.this,MainActivity.class);//當前活動的實例,要去的實例 startActivity(intent);//注入下一個活動
2.隱式Intent
Intent intent=new Intent("A"); intent.addCategory("B");
<activity android:name=".MainActivity"> <intent-filter> <action android:name="A" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="B" /> </intent-filter> </activity>
代碼要添加篩選 確認那個活動可以進那個活動
隱式的調用系統瀏覽器
Intent intent=new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com"));
隱式的調用電話簿
Intent intent=new Intent(Intent.ACTION_DIAL);//內置對象 intent.setData(Uri.parse("TEL:10000"));
向下一層傳遞接收數據
intent.putExtra("h","123");//向下一層傳遞數據
Intent te=getIntent();//獲取傳入的值 object 類型 在首次加載地方寫入 String data=intent.getStringExtra("h");//獲取鍵值 感覺類型用不同的類型去接受
返回數據給上一次 要在 上一層 重寫onActivityResuly()
在返回是銷毀頁面
startActivityForResult(intent,1); 返回對象 標識位1
@Override public void onBackPressed() { Intent intent=new Intent(); intent.putExtra("","");//存入值 setResult(RESULT_OK,intent); finish();//銷毀 }
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if (requestCode==1) { if (resultCode==RESULT_OK) { String resturn=data.getStringExtra("123"); //獲取值 } } }