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