Android上的Facebook深度链接
我试图在我的应用程序上实现Facebook的深度链接功能,遇到以下情况: 我有一个名为MainActivity的活动,声明如下:Android上的Facebook深度链接,android,facebook,android-intent,Android,Facebook,Android Intent,我试图在我的应用程序上实现Facebook的深度链接功能,遇到以下情况: 我有一个名为MainActivity的活动,声明如下: <activity android:name="com.mypackage.android.MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<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>
除以下情况外,一切都按计划进行:
谢谢。您需要在意向过滤器中获得更多信息:
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:host="www.yoursite.com" android:scheme="http"></data>
</intent-filter>
这将捕获指向您站点的链接(请确保更改URL),并将它们指向您在下面定义此意向筛选器的任何活动。请参阅
您可以使用:
android:clearTaskOnLaunch
android:noHistory
android:launchMode
Facebook通过明确启动您的“MainActivity”(您在开发者页面中向他们提供的活动),从他们自己的应用程序启动您的应用程序 这样,Android的默认行为是:如果应用程序已经运行,那么再次调用
startActivity()
不会从头开始新任务,而只会将已经运行的任务恢复到前台。
但好消息是,您可以通过在main活动中添加android:launchMode=“singleTask”
来更改此默认行为。它的定义是:
系统创建一个新任务,并在新任务的根节点实例化活动。但是,如果活动的实例已存在于单独的任务中,系统将通过调用其onNewIntent()方法将意图路由到现有实例,而不是创建新实例。一次只能存在一个活动实例
从这一点上,您可以始终响应开始意图,从这一点上,您可以始终导航回已经在后台的任务(如果存在)通过使用两个标志重新启动活动
Intent.FLAG\u activity\u SINGLE\u TOP
和Intent.FLAG\u activity\u CLEAR\u TOP
组合+1:我注意到ics+上的这个问题/问题/误解以及通知。嗨,Tom,你能帮我解决Facebook的这个深层链接问题吗?另请参阅和
android:clearTaskOnLaunch
android:noHistory
android:launchMode