Android下intent的setdata、settype和setdataandtype函数

1 settype

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

view plain copy to clipboard print ?
  1. public  Intent setData(Uri data) {  
  2.         mData = data;  
  3.         mType = null ;  
  4.         return   this ;  
  5.     }  

public Intent setData(Uri data) { mData = data; mType = null; return this; }

 

会将type设为null。

2 setdata

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

该函数源代码

view plain copy to clipboard print ?
  1. public  Intent setType(String type) {  
  2.         mData = null ;  
  3.         mType = type;  
  4.         return   this ;  
  5.     }  

public Intent setType(String type) { mData = null; mType = type; return this; }

 

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

view plain copy to clipboard print ?
  1. public  Intent setDataAndType(Uri data, String type) {  
  2.         mData = data;  
  3.         mType = type;  
  4.         return   this ;  
  5.     }  

public Intent setDataAndType(Uri data, String type) { mData = data; mType = type; return this; }

 

目前还不是很明白Android这样做的原因,请高手指点指点,谢谢!

你可能感兴趣的:(android,String,File,null)