【发布时间】:2013-04-29 13:57:49
【问题描述】:
我正在尝试在我的应用上实现 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 完成
- 应用通过设备主页按钮进入后台
- Facebook 的应用程序点击深层链接
在这种情况下,我的应用程序再次进入前台,但 MainActivity 的 onCreate / onNewIntent 不要被调用,而是 SecondaryActivity 的 onResume() 被调用并恢复到它的 最后一个状态。
注意:我已经在装有 Android 4.2.1 的三星 Nexus 上测试了这个问题并得到了这个结果,但在装有 Android 2.3.5 的 Galaxy S1 上进行测试时,它按我最初的预期工作。
任何帮助将不胜感激, 谢谢。
【问题讨论】:
-
+1:我在 ics+ 上也注意到了这个问题/问题/误解。
-
嗨,汤姆,你能帮我解决 Facebook 的深度链接问题吗*.com/q/22372788/1503130
标签: android facebook android-intent