要实现Android深链接强制在外部打开,可以使用以下代码示例:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Uri data = intent.getData();
if (data != null && intent.getAction().equals(Intent.ACTION_VIEW)) {
// 从外部打开的深链接
String scheme = data.getScheme();
String host = data.getHost();
String path = data.getPath();
// 处理深链接逻辑
// ...
} else {
// 从应用内部打开的逻辑
// ...
}
}
在上述示例中,我们在AndroidManifest.xml中声明了一个intent-filter,指定了深链接的scheme为"http",host为"example.com"。在MainActivity的onCreate方法中,我们通过getIntent方法获取到启动该Activity的Intent,并从Intent中获取深链接的数据。如果data不为空且Intent的action为ACTION_VIEW,那么说明是从外部打开的深链接,我们可以在这里处理相应的逻辑。否则,即为从应用内部打开的逻辑。
注意:要使用深链接,还需要确保应用已经设置了相应的权限,如访问网络的权限等。