`

Android中Intent的setData,setType和setDataAndType的用法

 
阅读更多

http://blog.csdn.net/gf771115/article/details/7827527

Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。利用Intent所实现的软件复用的粒度是Activity/Service,比函数复用更高一些,另外耦合也更为松散。

 

1 settype

使用该函数表示要查找文件的mime类型(如*/*),这个和组件在manifest里定义的相对应,但在源代码里:

  1. public Intent setData(Uri data) { 
  2.         mData = data; 
  3.         mType = null
  4.         return this
  5.     } 
  1. public Intent setData(Uri data) { 
  2.         mData = data; 
  3.         mType = null
  4.         return this
  5.     } 

会将type设为null。

2 setdata

该函数的参数是uri,所以要将数据通过该函数传递时,记得要把数据转化为uri,如Uri.fromFile(new File("/mnt/sdcard/"))。

该函数源代码

  1. public Intent setType(String type) { 
  2.         mData = null
  3.         mType = type; 
  4.         return this
  5.     } 
  1. public Intent setType(String type) { 
  2.         mData = null
  3.         mType = type; 
  4.         return this
  5.     } 

3 所以要同时设置data和type的话只能用函数setdataandtype了

  1. public Intent setDataAndType(Uri data, String type) { 
  2.         mData = data; 
  3.         mType = type; 
  4.         return this
  5.     } 
  1. public Intent setDataAndType(Uri data, String type) { 
  2.         mData = data; 
  3.         mType = type; 
  4.         return this
  5.     }  
分享到:
评论

相关推荐

    android_intent和intent_action大全

    在本文中,我们将深入探讨`android_intent`和`intent_action`的使用方法。 首先,Intent分为显式Intent和隐式Intent。显式Intent通过指定目标组件的类名来明确调用哪个组件,而隐式Intent则是通过定义Action、Data...

    Android_Intent和Intent_Filter详解

    setData() 方法指定数据的 URI,setType() 指定 MIME 类型,setDataAndType() 指定数据的 URI 和 MIME 类型。通过 getData() 读取 URI,getType() 读取类型。 ### 四、Category 部分 Category 为字符串对象,包含...

    Intent总结04 Data和Type属性

    在Android开发中,Intent是一种强大的工具,用于在应用程序组件之间传递数据和启动操作。Intent分为显式Intent和隐式Intent,而"Intent总结04 Data和Type属性"主要聚焦于Intent的数据(data)和类型(type)两个关键属性...

    深入学习Android中的Intent

    在Android开发中,Intent是一个至关重要的概念,它作为应用程序组件之间通信的主要桥梁,允许你在不同的组件之间传递消息和启动操作。Intent分为两种类型:隐式意图和显示意图。 1. **隐式意图(Implicit Intent)*...

    Android 隐式Intent的实例详解

    在代码中,我们可以创建一个新的Intent对象,并通过`setAction()`, `addCategory()`, `setData()`或`setDataAndType()`方法设置Action、Category和Data。例如: ```java Intent intent = new Intent(); intent....

    system-Intent

    在"androidtest"这个项目中,可能包含了用于演示这些功能的代码示例,你可以通过查看源代码进一步了解Intent的使用方式和实现细节。在实际开发中,理解和熟练运用Intent对于构建功能丰富的Android应用程序至关重要。

    intent匹配规则大总结

    - 要指定完整的Data(包括Type和具体的URI),必须使用 `setDataAndType()` 方法,避免先后调用 `setData()` 和 `setType()` 导致值被覆盖。 10. **Scheme 的匹配**: - Scheme的匹配规则也需要遵循Intent与`...

    android开发中Internet调用大全

    intent.setType("vnd.android.cursor.dir/person"); intent.setType("vnd.android.cursor.dir/contact"); intent.setType("vnd.android.cursor.dir/raw_contact"); ``` #### 查看图片 要查看图片文件,可以通过...

    常用Intent

    ### 常用Intent知识点详解 #### 概述 在Android开发中,`Intent`是一种消息对象,用于启动Activity、...以上介绍了如何使用Intent在Android应用中执行一系列常见的操作,这对于开发功能丰富的应用程序非常有用。

    Intent的深入浅出.docx

    Intent是Android应用开发中的核心组件之一,用于在不同组件间传递信息和启动组件。它扮演着消息传递者的角色,使得应用程序的组件(如Activity、Service、BroadcastReceiver和ContentProvider)能够解耦并协同工作。...

    android 基本知识

    Intent提供了setData()、setType()和setDataAndType()方法来设置数据和MIME类型。 - Extras:额外信息,可以携带任何类型的键值对,用于向组件传递附加数据。 针对不同的组件,启动Intent的方式也不同: - 对于...

    android 获取手机图片裁剪后分享

    使用`Intent`启动系统裁剪工具,需要设置`Intent.setData()`方法传入选中图片的`Uri`,并使用`Intent.putExtra()`添加裁剪参数,如裁剪比例、输出尺寸等。例如: ```java Intent cropIntent = new Intent(...

    利用隐式意图激活组件

    1. **Intent**: Intent是Android中的一个类,用于表示应用中的一次操作,它可以是启动一个Activity、启动一个Service或者传递消息给BroadcastReceiver。Intent分为显式意图和隐式意图,显式意图明确指定了要启动的...

    aap打开其他app

    此外,Intent还支持通过数据URI(`setData()`)和MIME类型(`setType()`)来指定数据。这在需要传递数据到目标应用时非常有用,比如分享文本、图片等。例如,要启动一个可以处理图片的App: ```java Uri imageUri =...

Global site tag (gtag.js) - Google Analytics