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"); //获取值 } } }