android - GET_SIGNATURES 已弃用

标签 android android-studio

我试图在我的 Android 应用程序中将内容分享到 Facebook,我需要一个 key 哈希...但是我无法在我的 logcat 上查看 HashKey 因为 GET_SIGNATURES 已弃用...有什么方法可以查看我的哈希键吗?

这是代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        printhashkey();
    }



    public void printhashkey(){

        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.capstone.facebookshare",
                    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 (PackageManager.NameNotFoundException e) {

        } catch (NoSuchAlgorithmException e) {

        }

    }
}

最佳答案

使用PackageManager.GET_SIGNING_CERTIFICATES适用于 API 28。

关于android - GET_SIGNATURES 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52898066/

相关文章:

java - 获取recyclerView中选择的id

java - 文件下载代码下载比原始文件大的文件

macos - 菜单栏未显示在 Android Studio 中

安卓工作室错误 : String literal in setText cannot be translated

android-studio - 如何根据flutter中的sharedPrefs值设置动态initialRoute?

android - 从Android开发中的Google Play音乐获取歌曲的音频文件

java - 为什么在调用 onItemClick() 时会针对 ListVIew 中显示的每一行再次调用 getView()?

java - 如何将增量发票编号放入DatabaseReference

android - listFiles() 从 Android 10(范围存储)起没有用处。需要特定目录的文件

android - Android Studio 中的自定义后缀完成