Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法获取Facebook Connect Android SDK的发布密钥哈希_Android_Facebook_Key - Fatal编程技术网

无法获取Facebook Connect Android SDK的发布密钥哈希

无法获取Facebook Connect Android SDK的发布密钥哈希,android,facebook,key,Android,Facebook,Key,我正在尝试检索我的应用程序的发布密钥哈希。我正在为生成的密钥库文件提供正确的密码和路径,但仍然没有输出密钥哈希 这里是一个截图的情况 如上图所示,我已正确提供了所有信息,包括我的密码。我的密码是我在生成密钥库文件时输入的密码。它不输出任何内容并移动到下一行 为什么不打印keyhash?在会话打开时尝试此操作 package com.example.id; import java.security.MessageDigest; import java.security.NoSuchAlgori

我正在尝试检索我的应用程序的发布密钥哈希。我正在为生成的密钥库文件提供正确的密码和路径,但仍然没有输出密钥哈希

这里是一个截图的情况

如上图所示,我已正确提供了所有信息,包括我的密码。我的密码是我在生成
密钥库文件时输入的密码。它不输出任何内容并移动到下一行


为什么不打印
keyhash

在会话打开时尝试此操作

package com.example.id;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import android.os.Bundle;
import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.Signature;
import android.util.Base64;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
    PackageInfo info;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn = (Button)findViewById(R.id.button1);
        final EditText et = (EditText)findViewById(R.id.editText1);

        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                try {
                    info = getPackageManager().getPackageInfo("com.example.id", PackageManager.GET_SIGNATURES);
                    for (Signature signature : info.signatures) {
                        MessageDigest md;
                        md = MessageDigest.getInstance("SHA");
                        md.update(signature.toByteArray());
                        String something = new String(Base64.encode(md.digest(), 0));
                        //String something = new String(Base64.encodeBytes(md.digest()));
                        et.setText(something);
                       Toast.makeText(getBaseContext(), "" + something, 2000).show();
                    }
                } catch (NameNotFoundException e1) {
                    Log.e("name not found", e1.toString());
                } catch (NoSuchAlgorithmException e) {
                    Log.e("no such an algorithm", e.toString());
                } catch (Exception e) {
                    Log.e("exception", e.toString());
                }
            }
        });
    }


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

        }

这样,您的代码将独立于机器。

在会话打开时尝试此操作

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

        }

这样,您的代码将独立于机器。

这是释放密钥吗?对不起,我遇到了另一个问题,我一到那里就会给您回复。好的。。。我尝试使用此代码,但它没有打印任何日志,
请注意,
我正在以发布模式运行应用程序。这里的“某物”将是您的输出好友。。。尝试在edittext或toast中设置…这是释放键吗?抱歉,我遇到了另一个问题,我一到那里就会给你回复。好的。。。我尝试使用此代码,但它没有打印任何日志,
请注意,
我正在以发布模式运行应用程序。这里的“某物”将是您的输出好友。。。尝试在edittext或toast中设置。。。