Deep Linking Android首先打开启动器活动(不是深度链接的活动),然后打开Manifest文件中声明的深层链接活动。我已按照here提到的所有步骤。
即清单包含
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_title_viewgizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
<data android:scheme="http"
android:host="www.example.com"
android:pathPrefix="/gizmos" />
<!-- note that the leading "/" is required for pathPrefix-->
<!-- Accepts URIs that begin with "example://gizmos”
<data android:scheme="example"
android:host="gizmos" />
-->
</intent-filter>
</activity>
和深度链接的活动包含
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
}
以及其他一些特定于活动的代码。
答案 0 :(得分:0)
我有同样的问题,在我的情况下,它只是一个复制和粘贴问题。确保您的深层链接意图过滤器仅存在于清单中的正确活动下。如果您在2个不同的活动中有2个相同的过滤器,它将打开第一个(逻辑上您的主要活动将是您的第一个)
答案 1 :(得分:0)
只需从意图过滤器中移除android:label="@string/filter_title_viewgizmos"
即可。您的代码将开始工作。
感谢。