android之显示intent和隐式intent
参考第一行代码,郭神
intent的定义
Android中各组件之间进行交互的重要方式。可以指明组件想要执行的动作,以及携带信息,在不同组件之中传递数据,Intent一般可被用于启动活动、启动服务以及发送广播
显示intent
显示,意思就是指明intent的发送的class
public Intent(Context packageContext, Class<?> cls);//第一个参数,传递上下文contex,也就是谁发出这个intent。第二个参数是要发送的类的名称
android6之后推荐使用显示这种方式
开启一个activity
startActivity(new Intent(MainActivity.this, Main3Activity.class));
隐式intent
使用intent-filter
在AndroidManifest.xml的activity下定义,需要包含action和category
<activity android:name=".Main3Activity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.myapplilcation" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
注意的是一定要定义 action和category,默认的category就是android.intent.category.DEFAULT
开启一个activity
startActivity(new Intent("android.intent.action.myapplilcation")); //传入action,默认的category就是android.intent.category.DEFAULT
action只能有一个,category可以有多个,有多个category情况下,只匹配到一个就可以
携带数据
intent还可以携带数据,intent.putExtra(),键值对
复杂的数据可以使用Bundle实现,intent.putExtras()
一个圆,圆内是你会的,圆外是你不知道的。而当圆越大,你知道的越多,不知道的也越多了

浙公网安备 33010602011771号