gpt4 book ai didi

java - 为不同的运行时设置 Android 代码

转载 作者:行者123 更新时间:2023-11-30 11:57:14 25 4
gpt4 key购买 nike

我正在开发一个应该在 Android 1.5 及更高版本的设备上运行的 Android 应用程序。我正在使用 RawContacts.CONTENT_URI 枚举在我的应用程序子类中注册一个 ContentObserver。现在,Eclair 中引入了 RawContacts,在运行时间低于 2.0 的 Android 设备上运行此代码会出现 java.lang.VerifyError。对于旧设备,我必须使用 Contacts.CONTENT_URI

为了解决这个问题,我在我的代码中添加了如下内容:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR){
uri = android.provider.ContactsContract.RawContacts.CONTENT_URI;
}
else{
uri = android.provider.Contacts.CONTENT_URI;
}

我仍然收到 java.lang.VerifiyErrors。

如何为不同的运行时设置我的代码?

最佳答案

我认为您需要使用反射来获取所需的枚举

http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html

因为字节码对于 2.0 之前的设备是无效的,因为它命名了一个不存在的类。

关于java - 为不同的运行时设置 Android 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3959362/

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