我正在尝试将facebook整合到我的全新Android应用程序中。但我不能通过facebook提供的教程来实现。 https://developers.facebook.com/docs/android/getting-started
我试图从提供的命令中获取haskkey:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
结果如下: https://www.dropbox.com/s/s711ldu1y0aa6xo/screen.png
所以我按照教程中的要求将它添加到我的facebook develloper帐户中,但由于它不起作用,我尝试从以下代码中获取hashkey。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.hellofacebook",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
我得到相同的结果意味着我的钥匙是正确的......你们知道这个问题会从哪里来吗?
答案 0 :(得分:1)
此解决方案包含您在问题中提到的代码:
您正在使用调试密钥获取哈希键...如果您未在调试模式下签署包并运行应用程序,则可能会有效。你需要做的是:
0)将该代码放入您的任何活动中。
1)转到清单文件并添加到应用程序android:debuggable =" true"。
2)现在运行你的应用程序并监控logcat。
3)你会得到一个新的密钥,它是x9SLcMXBlgly1f36PJuuc4a3YAc的匹配密钥,你得到的密钥现在在最后一个有一个=符号。
4)在facbook开发者网站上注册此密钥
替代技巧
你可以做另外一件事只需将这个密钥注册到facebook开发者网站x9SLcMXBlgly1f36PJuuc4a3YAc =
只需将facebook添加到Facebook应用程序显示的键。
你结束了!!希望这会奏效。