android connect facebook无效密钥哈希

android connect facebook无效密钥哈希,android,facebook,android-facebook,Android,Facebook,Android Facebook,我正在使用android facebook sdk。当divice安装了facebook应用程序时,我遇到了问题。我在代码中收到了keyhash public class SpleshScreen extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Wi

我正在使用android facebook sdk。当divice安装了facebook应用程序时,我遇到了问题。我在代码中收到了keyhash

public class SpleshScreen extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_splesh_screen);

    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "mypackage", 
                PackageManager.GET_SIGNATURES);
        for (android.content.pm.Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.wtf("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

    Thread background = new Thread() {

        public void run() {

            try {
                // Thread will sleep for 2 seconds
                sleep(2 * 1000);


                //
                // Log.e("asdasdasdasd",my_json );

                // After 2 seconds redirect to another intent
                Intent in = new Intent(getApplicationContext(),
                        MainmoviesActivity.class);
                startActivity(in);

                // Remove activity
                finish();

            } catch (Exception e) {

            }
        }
    };

    // start thread
    background.start();
}
}

我在我的facebook应用程序中添加了这个密钥哈希。 当我用USB运行我的应用程序时,只有当divice有facebook应用程序时,我才有问题
我做错了什么?如果有人知道解决方案,请帮助我,因为生成哈希键是错误的

要解决此问题,请执行以下步骤:

在oncreate中粘贴以下代码

try {
    PackageInfo info = getPackageManager().getPackageInfo(
            "com.example.packagename", 
            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) {

}
看到这条线了吗

这肯定会解决您的问题。

1.转到

2.选择您的应用程序

3.单击“设置”

4.单击添加平台

5.添加所有必填字段

6.在此处添加密钥哈希

7.单击保存更改


现在检查

您可以使用我为ios和windows构建的工具,在此处检查:如果这对您有帮助,请在此处更新我的答案。谢谢