我已经在 facebook 网站上申请了一个 facebook APP,并且还设置了关于“Native Android APP”的任何内容,包括 [package name][class name][Key Hash][Facebook login][Deep link] ware setup well。
[包名] 和 [类名] 是从我的清单中获取的。
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme">
<activity android:name="com.mypackage.myapp.login.Login" android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
密钥哈希是从我的应用程序中的以下代码中获得的
PackageInfo info=getActivity().getPackageManager().getPackageInfo("com.mypackage.myapp", PackageManager.GET_SIGNATURES);
for(Signature signature : info.signatures)
{
MessageDigest md=MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d(Constants.TAG, "APP KeyHash: "+Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
所以我很确定 [package name] 和 [class name] 和 [Key Hash] 都可以。当然,我确实在我的 facebook APP 设置页面中打开了 [Facebook login] 和 [Deep link]。
起初,我的Android APP使用的是facebook SDK 1.5,深度链接功能运行良好。我可以点击我在“Facebook Android APP”上发布的应用链接,以启动“我的 Android APP”。
但由于 facebook 声称他们将停止支持旧的 2.0 及以下 SDK,我在我的应用程序中将 facebook SDK 升级到 3.0,并且深度链接不起作用。
现在我点击我在 facebook 上发布的应用程序链接,facebook android APP 只要求我选择几个浏览器中的 1 个,不再启动我的 android 应用程序。
我应该怎么做才能让 facebook 深度链接再次工作,甚至在我的 android 应用程序启动时为其带来一个参数?
我真的很需要你的帮助来解决这个问题,谢谢大家~