gpt4 book ai didi

java - '签名:Array <(out)签名!>!'不推荐使用。 Java中不推荐使用

转载 作者:行者123 更新时间:2023-12-02 12:56:17 33 4
gpt4 key购买 nike

我得到了这个printHashKey函数,它运行良好。

fun printHashKey() {
try {
val info : PackageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
for (signature in info.signatures) {
val md: MessageDigest = MessageDigest.getInstance("SHA")
md.update(signature.toByteArray())
val hashKey = String(Base64.encode(md.digest(), 0))
Log.i("TAG", "printHashKey() Hash Key: $hashKey")
}
} catch (e: NoSuchAlgorithmException) {
Log.e("TAG", "printHashKey()", e)
} catch (e: Exception) {
Log.e("TAG", "printHashKey()", e)
}
}

但有一个警告标志:
  • GET_SIGNATURES: Int已弃用。在Java中已弃用。
  • signatures: Array<(out) Signature!>!已弃用。 Java中的Deprecated

  • 所以我将 GET_SIGNATURES更改为 GET_SIGNING_CERTIFICATES
    fun printHashKey() {
    try {
    val info : PackageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES)
    for (signature in info.signatures) {
    val md: MessageDigest = MessageDigest.getInstance("SHA")
    md.update(signature.toByteArray())
    val hashKey = String(Base64.encode(md.digest(), 0))
    Log.i("TAG", "printHashKey() Hash Key: $hashKey")
    }
    } catch (e: NoSuchAlgorithmException) {
    Log.e("TAG", "printHashKey()", e)
    } catch (e: Exception) {
    Log.e("TAG", "printHashKey()", e)
    }
    }

    而且我仍然收到此警告。
  • signatures: Array<(out) Signature!>!已弃用。 Java中的Deprecated

  • 我知道我可以忽略此警告,但我想修复它。
    我可以使用什么代替 signatures

    最佳答案

    在Android P中,您应该改用signingInfo
    完整代码:

    val signatures = with(packageManager) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
    getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES)
    .signingInfo
    .apkContentsSigners
    } else {
    getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
    .signatures
    }
    }

    之后,您还可以在函数上方添加以下行以禁止显示警告:
    @Suppress("DEPRECATION")
    @SuppressLint("PackageManagerGetSignatures")

    关于java - '签名:Array <(out)签名!>!'不推荐使用。 Java中不推荐使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62229333/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com