Android如何使用Java从Android的深层链接获取值? 我正在我的android应用程序中实现深层链接,现在我想像斜杠后一样获取所有参数。 我的网址= www.exmple.com/poduct-name/prodcut_id
www.exmple.com/iphone/147895
所以我想从上面的URL获取ID-147895?
答案 0 :(得分:1)
尝试-
URI uri = new URI("www.exmple.com/iphone/147895");
String[] spPath= uri.getPath().split("/");
String idStr = spPath[spPath.length-1];
int id = Integer.parseInt(idStr);
谢谢
答案 1 :(得分:0)
对于您要开始进行深度链接处理的activity
,请按如下所示将此意图过滤器放入清单的<activity>...</activity>
中:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data
android:host="www.example.com"
android:pathPattern="/.*"
android:scheme="https"/>
</intent-filter>
然后在您的活动中,如果将其标记为“ singleTask”,则可以使用onNewIntent(Intent intent)
方法从意图中获取数据,或者如果将其标记为“ newTask”,则应调用解析方法在onCreate(...)
中,并通过调用getIntent()
方法获得意图。解析过程将是这样的,
1.对于onCreate():
protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.your_view);
if (getIntent() != null && getIntent().getData() != null)
{
//parse your data here,
//it's the deeplink you want "https://www.example.com/..."
}
}
对于newIntent()
受保护的void onNewIntent(Intent intent) { super.onNewIntent(intent); 如果(意图!= null && intent.getData()!= null) { //在这里解析您的数据, //这是您想要的深层链接“ https://www.example.com/ ...” } }