本节书摘来自异步社区《Android 应用案例开发大全(第二版)》一书中的第6章,第6.9节解析数据 ,作者李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看
6.9 解析数据Android开发权威指南(第二版)在显示窗口时,除了会通过Intent对象传递数据外,还需要在被调用窗口中获取这些数据。例如,向某个窗口传入了一个Uri。通常会在窗口类的onCreate方法中将Uri分解,获取Uri的各个部分,例如,scheme、host、port、path等。这些信息都可以从Intent类的相应方法获取。除了上一节介绍的获取附加数据的方法外,Intent类还有如下可以获取各种信息的方法。
获取Action:Intent.getAction方法
getAction方法用于获取调用者传递过来的Action,可用该方法的返回值判断是通过哪个Action调用的该窗口。getAction方法的原型如下:
public String getAction() 获取多个Category:Intent.getCategories方法 由于显示窗口时可以指定多个Category,而且这些Category与顺序无关,所以getCategories方法返回一个Set类型的对象。GetCategories方法的原型如下: public Set<String> getCategories()获取Mime Type:Intent.getType方法
该方法可以获取字符串形式的MimeType。getType方法的原型如下:
public String getType() 获取与Data相关的信息 Data就是Uri,在Intent类中有多个方法可以获取与Uri相关的信息,这些方法的原型如下: // 直接获取Uri对象 public Uri getData() // 获取字符串形式的Uri public String getDataString() // 获取scheme public String getScheme() 获取Flags:Intent.getFlags方法在显示窗口时可以通过Intent.setFlags方法设置一个或多个Flag,以干预窗口创建和销毁的过程,通过Intent.getFlags方法也可以获取这些Flag。关于窗口Flags的详细内容会在下一章介绍。getFlags方法的原型如下:
public int getFlags() 相关资源:敏捷开发V1.0.pptx