- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我刚刚将应用的 compileSdkVersion
升级到 28
(Pie)。
我收到编译警告:
warning: [deprecation] versionCode in PackageInfo has been deprecated
警告来自此代码:
final PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
int versionCode = info.versionCode;
我看了documentation ,但它没有说明如何解决此问题或应该使用什么来代替已弃用的字段。
最佳答案
它说明了要做什么on the Java doc (我建议不要大量使用 Kotlin 文档;它的维护并不好):
versionCode
This field was deprecated in API level 28. Use getLongVersionCode() instead, which includes both this and the additional versionCodeMajor attribute. The version number of this package, as specified by the tag's versionCode attribute.
不过,这是一种 API 28 方法,因此请考虑使用 PackageInfoCompat .它有一个静态方法:
getLongVersionCode(PackageInfo info)
关于java - Android SDK 28 - PackageInfo 中的 versionCode 已被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52977079/
我正在为 Android 编写一个应用程序,其中获取应用程序的标签(实际名称)非常慢。特别是这段代码的表现非常糟糕: packageInfo.loadLabel(pm); 只是给你一些指标。在安装了
我的应用使用 PackageInfo 的 versionName 来确定当前版本。 我正在尝试测试依赖于该数据的一段代码(使用 JUnit),但 Robolectric 将 versionName 设
为此花了一整天,但无法正常工作。 我正在尝试创建一个应用程序抽屉。我想获取当前已安装应用程序的列表,然后将其放入 GridLayout。 当我尝试从扩展我的 MainActivity 的类调用 get
为什么这个值中有多个签名?这些值是包的公钥吗? 我可以使用这个签名来唯一标识一个包,而不是读取 META-INF 下的文件,或者计算整个 APK 文件的 MD5 吗? 最佳答案 根据@hackbod,
有没有办法从 packageinfo 运行一个 intent?我一直在寻找,但没有找到。 我试过了 Intent i = new Intent(); i.setAction(Intent.ACTION
如果我将 Manifest.xml 的版本代码从 1 更改为 2,packageInfo.versionCode 总是返回 1。我想返回2,我应该在哪里修复?顺便说一下,在这种情况下,packageI
我正在尝试枚举所有已安装包使用的所有权限,但是当我检查 requestedPermissions我安装的每个软件包的属性始终为空。 最佳答案 我只需要将 PackageManager.GET_PERM
我有几个关于 ApplicationInfo 和 PackageInfo 类的一般性问题。他们在这里: 谁能描述一下 ApplicationInfo 和包信息? 它们如何相互关联? 在哪些情况下使用
我正在尝试获取我的应用程序拥有的权限列表以及设备上安装的应用程序列表。我熟悉android中的ApplicationInfo和PackageInfo,但找不到适用于ios swift的任何内容 最佳答
我通过比较包名和 PackageInfo 的签名在我的 android 应用程序中实现了对不兼容应用程序的验证。我通过以下方式获取有关已安装软件包的信息: val packages = context
我正在相互检查包签名以确定它们是否不兼容(针对不同的 keystore 编译)。我注意到 PackageInfo.signatures 几乎总是一个包含单个条目的集合,这对我来说很有意义。我使用调试或
List pkginfoList = getPackageManager() .getInstalledPackages(0); 如何对 PackageInfo 进行排
对于手机上安装的所有应用程序,我需要访问: 姓名 图标 可以安装应用程序的 google play url 我查看了 ApplicationInfo,但它似乎没有向我提供此信息。我听说过 Packag
PackageManager.GET_SIGNATURES 的文档说“此常量在 API 级别 28 中已弃用。请改用 GET_SIGNING_CERTIFICATES”。 不幸的是,它并不安全,很容易
在谷歌上玩这个错误 FATAL EXCEPTION: main Process: com.sonymobile.scan3d, PID: 13877 java.lang.NoSuchMethodErr
我正在构建一个不会通过 Marketplace 的私有(private)应用程序。结果,我需要拉取当前版本应用(不是平台)信息,并向服务器查询是否有更新。它在模拟器上运行良好,但是当我在我的 Droi
我刚刚将应用的 compileSdkVersion 升级到 28 (Pie)。 我收到编译警告: warning: [deprecation] versionCode in PackageInfo h
我最近将我的 android studio 更新到 2.2 预览版。当我使用 PackageInfo.versionName 请求 versionName 时,它返回 INSTANT_RUN 而不
我得到一个 android.app.ActivityThread$PackageInfo$ServiceDispatcher.doConnected(ActivityThread.java:1012)
我是一名优秀的程序员,十分优秀!