您的位置:首页 > 其它

自己关于Intent的一点大致的理解

2016-10-07 22:00 260 查看
△ 关于
   * Intent在是链接各种组件的一种交流方式,据我现在的理解应该是一种消息的传递机制,常常会有显式的intent,也会有隐式的intent,显式的直接规定了所要链接的一个组件,而隐式的还有需要规定Type
Action ,action应该就是想要表达一种意图,也就是一种行为方式,当你点击一个按钮监听事件的时候,会触发这个intent,然后能响应这个intent的程序就会出现在界面中,其中有的action
是Android中内置的action(目的)。

   * startActityForResult方法在调用这个可以向上一个actity传递数据,此方法会有两个参数,一个是一个intent对象,另一个是一个请求码,用于之后回调onResult方法来判断数据的来源,而在上一个actity中需要重写这个onResult方法,上一个活动销毁后,会回调这个方法,来获得intent的数据,在onResult方法中会有三个参数,其中有protected void onActivityResult(int
requestCode, int resultCode, Intent data)

其中的requestCode是请求码,由于会有一个活动会多次调用startActityForResult而之后都会调用onResult方法,所以requestCode用于判断数据来源,resultCode是用于判断处理的结果,intent
data是传回来的数据;
部分代码:
public void onClick(View arg0) {
Intent openAlbumIntent = new Intent(Intent.ACTION_GET_CONTENT);//不同组件的一种通讯方式,可以是在一个APP内,
//也可以是其他的App,intent具有激活组件和携带数据的作用,
openAlbumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
startActivityForResult(openAlbumIntent, 1);//由于需要在新打开的活动中获取到数据
//所以一般是使用上面的这个方法,当新打开的活动时。,会用intent返回结果
}
});

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

.........
switch (requestCode) {

case :..
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: