我在我的应用程序中添加了应用程序链接助手,以通过外部链接打开特定的活动。现在,我的HomeActivity中有类似的内容。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
checkDeepLink();
}
private void checkDeepLink(){
if (getIntent() != null && getIntent().getData() != null) {
Uri data = getIntent().getData();
String scheme = data.getScheme();
String host = data.getHost();
String param = data.getQuery();
if (host.equals("page_details")){
Intent intent = new Intent(this,DatadetailAcvity.class);
intent.putExtra("detail_id",Long.valueOf(data.getQueryParameter("detail_id")));
startActivity(intent);
}
}
AndroidManifest.xml:
<activity
android:name=".HomeActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="scheme" />
</intent-filter>
</activity>
然后我在DataDetailActivity中获取ID并打开特定的SharedData屏幕。 如果我通过短信和其他应用进行共享,它确实可以正常工作。但是,如果我在FB上共享,则它不会打开App,而是会打开浏览器并显示“在App中打开”,如所附屏幕截图所示。
如果我单击它,则确实会打开应用程序中的特定活动。
我要在安装应用程序而不是浏览器时直接在应用程序中打开。
我的Facebook应用开发者页面显示深层链接已启用。我还在我的应用程序中添加了FB SDK。