android 在 fragment中 获取 deeplink中的参数
时间: 2024-09-10 15:18:21 浏览: 80
在Android中,如果你想要在Fragment中获取Deep Link(即URI或者Intent传递过来的额外数据)中的参数,通常需要在`onCreateView()`或者`onActivityCreated()`方法中处理。这里是一个简单的步骤:
1. 首先,检查是否有通过`Intent`传入的数据。如果来自启动模式(如`SingleTop`或`SingleTask`),你可以从`getArguments()`方法获取它。例如:
```java
if (getArguments() != null) {
Bundle bundle = getArguments();
String deepLinkParam = bundle.getString("your_param_key");
}
```
2. 如果数据是从外部来源(比如浏览器分享)通过`Uri`接收到的,你可以解析`Uri`并从中提取参数。例如,使用`urischeme://param1=value1#fragment`格式,可以这样做:
```java
Uri dataUri = getIntent().getData();
String query = dataUri.getQuery();
if (!query.isEmpty()) {
String[] pairs = query.split("&");
for (String pair : pairs) {
String[] keyValue = pair.split("=");
if ("your_param_key".equals(keyValue[0])) {
String deepLinkParam = keyValue[1];
break;
}
}
}
```
3. 确保在处理完数据后适当地存储起来,以便后续在整个Fragment生命周期中使用。
阅读全文