我想实现我的应用程序Facebook的深度链接功能,并遇到以下情形:
我有一个名为MainActivity的活动,其声明如下所示:
<activity
android:name="com.mypackage.android.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
本次活动+我的包的名字在我的应用程序在Facebook上的开发者网站的设置也宣告。
一旦链接点击Facebook的应用进行了,我应该通过我活动的onCreate方法来处理这个事件。 下面的代码处理该事件:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Uri target = getIntent().getData();
if (target != null){
// got here via Facebook deep link
// once I'm done parsing the URI and deciding
// which part of my app I should point the client to
// I fire an intent for a new activity and
// call finish() the current activity (MainActivity)
}else{
// activity was created in a normal fashion
}
}
所有按照除以下情形计划进行:
- 用户推出了我的应用程序
- MainActivity创建
- SecondaryActivity创建
- MainActivity完成
- 应用程序通过设备home键切换到后台
- 深层链接被点击Facebook上的应用
在这种情况下,我的应用程序再次进入前景,但MainActivity的onCreate / onNewIntent不会被调用,而不是SecondaryActivity的的onResume()被调用,并恢复到它的最后状态。
注:当银河S1测试了Android 2.3.5,它的工作,因为我最初的预期我测试过这个问题上的三星Nexus采用Android 4.2.1,并得到了这个结果,虽然。
任何帮助将不胜感激,谢谢。