如果要实现Activity之间的跳转,需要一个Intent类,来帮助我们,Intent类是Android程序中各组件的进行交互的一种重要方式,它不仅可以进行跳转还可以在跳转的过程中传值。
Intent类
Intent类分为2种:显示Intent和隐示Intent
显示Intent
Intent intent=new Intent(this.getApplicationContext(),AmapActivity.class)
startActivity(intent)
第一个参数是本类作为上下文,第二个参数为要跳转的Activity的字节码
隐示Intent
为什么叫隐示,因为它跳转的参数不会很明确的指定。
使用隐示跳转首先打开AndroidManifest.xml
,在activity
节点中找category
子节点,里面的Name属性就是跳转的参数。把它复制下来,如果没有该节点可以自己创建一个。
<category android:name="android.intent.category.MyNode"/>
最后的MyNode
可以自己定义
跳转
Intent intent = new Intent("android.intent.category.MyNode");
startActivity(intent);
隐示跳转比显示跳转的参数少,目的也不是很明确。
一个Intent里只能指定action,但是可以指定多个category
Intent intent = new Intent("android.intent.category.MyNode");
intent.addCategory("android.intent.category.MyNode");
startActivity(intent);
用Intent跳转参数
使用Intent的putExtra方法:
Intent intent = new Intent("android.intent.category.MyNode");
intent.putExtra("key","value");
startActivity(intent);
获取方法:
Intent intent=getIntent();
String data=intent.getStringExtra("key");