Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。利用Intent所实现的软件复用的粒度是Activity/Service,比函数复用更高一些,另外耦合也更为松散。
1 settype
使用该函数表示要查找文件的mime类型(如*/*),这个和组件在manifest里定义的相对应,但在源代码里:
-
public
Intent setData(Uri data) {
-
mData = data;
-
mType = null
;
-
return
this
;
-
}
-
public
Intent setData(Uri data) {
-
mData = data;
-
mType = null
;
-
return
this
;
-
}
会将type设为null。
2 setdata
该函数的参数是uri,所以要将数据通过该函数传递时,记得要把数据转化为uri,如Uri.fromFile(new File("/mnt/sdcard/"))。
该函数源代码
-
public
Intent setType(String type) {
-
mData = null
;
-
mType = type;
-
return
this
;
-
}
-
public
Intent setType(String type) {
-
mData = null
;
-
mType = type;
-
return
this
;
-
}
3 所以要同时设置data和type的话只能用函数setdataandtype了
-
public
Intent setDataAndType(Uri data, String type) {
-
mData = data;
-
mType = type;
-
return
this
;
-
}
-
public
Intent setDataAndType(Uri data, String type) {
-
mData = data;
-
mType = type;
-
return
this
;
-
}
分享到:
相关推荐
在Android开发中,Intent是一种非常重要的机制,用于在应用程序组件之间进行通信,它可以用来启动其他组件,如Activity、BroadcastReceiver和服务,或者启动系统服务。在本文中,我们将深入探讨`android_intent`和`...
setData() 方法指定数据的 URI,setType() 指定 MIME 类型,setDataAndType() 指定数据的 URI 和 MIME 类型。通过 getData() 读取 URI,getType() 读取类型。 ### 四、Category 部分 Category 为字符串对象,包含...
在Android开发中,Intent是一种强大的工具,用于在应用程序组件之间传递数据和启动操作。Intent分为显式Intent和隐式Intent,而"Intent总结04 Data和Type属性"主要聚焦于Intent的数据(data)和类型(type)两个关键属性...
在代码中,我们可以创建一个新的Intent对象,并通过`setAction()`, `addCategory()`, `setData()`或`setDataAndType()`方法设置Action、Category和Data。例如: ```java Intent intent = new Intent(); intent....
- **数据和类型**:Intent的数据部分可以通过`setData()`设置URI,`setType()`设置MIME类型。需要注意的是,两者不能同时设置,因为`setType()`会清除`setData()`设置的信息。如果需要同时设置URI和类型,应使用`...
在Android开发中,Intent是一种强大的工具,用于在应用程序组件之间传递消息和启动操作。"system-Intent"这个主题主要涉及如何使用Intent来调用系统级别的功能,如拨打电话、发送短信以及打开电子邮件应用。下面将...
- 要指定完整的Data(包括Type和具体的URI),必须使用 `setDataAndType()` 方法,避免先后调用 `setData()` 和 `setType()` 导致值被覆盖。 10. **Scheme 的匹配**: - Scheme的匹配规则也需要遵循Intent与`...
intent.setType("vnd.android.cursor.dir/person"); intent.setType("vnd.android.cursor.dir/contact"); intent.setType("vnd.android.cursor.dir/raw_contact"); ``` #### 查看图片 要查看图片文件,可以通过...
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive"); mService.startActivity(intent); } ``` 这里的关键是设置`ACTION_VIEW`动作并指定文件类型为`...
Intent是Android应用开发中的核心组件之一,用于在不同组件间传递信息和启动组件。它扮演着消息传递者的角色,使得应用程序的组件(如Activity、Service、BroadcastReceiver和ContentProvider)能够解耦并协同工作。...
Intent提供了setData()、setType()和setDataAndType()方法来设置数据和MIME类型。 - Extras:额外信息,可以携带任何类型的键值对,用于向组件传递附加数据。 针对不同的组件,启动Intent的方式也不同: - 对于...
Android提供了`Intent.ACTION_PICK`和`Intent.ACTION_GET_CONTENT`来让用户选择图片,但裁剪功能通常需要调用第三方裁剪应用或者自定义裁剪界面。使用`Intent`启动系统裁剪工具,需要设置`Intent.setData()`方法...
intent.setDataAndType(Uri.fromFile(new File("/path/to/image.jpg")), "image/jpeg"); ``` 4. **启动组件**: 一旦创建了隐式意图,就可以用startActivity()或startService()来启动相应的组件。但因为隐式意图可能...
此外,Intent还支持通过数据URI(`setData()`)和MIME类型(`setType()`)来指定数据。这在需要传递数据到目标应用时非常有用,比如分享文本、图片等。例如,要启动一个可以处理图片的App: ```java Uri imageUri =...