Android 函数parseUri()的详细功能
时间: 2024-05-20 18:11:34 浏览: 148
`parseUri()` 是 Android 中的一个函数,用于解析 URI(Uniform Resource Identifier,统一资源标识符)。它的详细功能如下:
1. 将给定的 URI 字符串解析为一个 Uri 对象。
2. 对解析出来的 Uri 对象进行必要的规范化,比如将路径中的相对路径转换为绝对路径。
3. 对解析出来的 Uri 对象进行必要的验证,比如验证 URI 是否符合 RFC 2396 规范。
4. 返回解析出来的 Uri 对象。
具体来说,`parseUri()` 方法接受三个参数:
- `uriString`:要解析的 URI 字符串。
- `flags`:用于控制解析行为的标志位。这些标志位包括:
- `PARSE_AUTHORITY`:解析 Uri 中的授权信息。
- `PARSE_ENCODED`:解析编码过的 Uri。
- `PARSE_EXPLICIT_SCHEME`:明确指定 Uri 的协议。
- `PARSE_IDN`:解析国际化域名。
- `PARSE_IGNORE_FRAGMENT`:忽略 Uri 的片段标识符。
- `PARSE_INTENT`:解析 Intent Uri。
- `PARSE_MMS`:解析 MMS Uri。
- `PARSE_MODE`:解析模式。
- `PARSE_NON_DECODED`:解析未编码的 Uri。
- `PARSE_PATH`:解析 Uri 的路径。
- `PARSE_PORT`:解析 Uri 的端口号。
- `PARSE_QUERY`:解析 Uri 的查询参数。
- `PARSE_RESTRICTED`:限制 Uri 的解析范围。
- `PARSE_SERIALIZE_ZEROPORT`:序列化 Uri 的零端口号。
- `PARSE_SHOW_FRAGMENT`:显示 Uri 的片段标识符。
- `PARSE_SKIP_ENCODED`:跳过编码的 Uri。
- `PARSE_STRICT`:严格解析 Uri。
- `PARSE_URI_REFERENCE`:解析 Uri 引用。
- `PARSE_WITH_LEGACY_EXCEPTIONS`:使用旧的解析异常处理方式。
- `type`:要解析的 Uri 类型。
`parseUri()` 方法会返回一个 Uri 对象,表示解析出来的 URI。如果解析失败,会抛出一个 IllegalArgumentException 异常。
阅读全文