问题标签 [android-api-levels]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android 平台版本(按国家/地区)
有没有办法获得像这里的Android Dashboard但关于每个国家的平台版本?
我将启动一个仅针对德国的项目,并且我有兴趣知道哪个是该国家/地区的最低 API 版本,因为在仪表板中您可以获得全局值。
android - 为 LauncherActivityInfo 寻找合适的替代品
在 API 级别 21 中引入了 LauncherActivityInfo。
我目前必须实现一个使用getApplicationInfo()、getBadgedIcon()、getLabel() 和 getIcon()的程序。
我在 stackoverflow 和 google 上进行了搜索,但似乎找不到合适的替代品。我必须支持 API 级别 19。无法使用此类....有人有什么建议吗?
链接到课堂
java - Android API 19 的 getScript 替代方案
我有一个 Android API 级别 21 的应用程序,它目前正在使用 getScript 方法,该方法已添加到类 Locale 的同一 api 级别中。
应用程序必须向后兼容 Android API 级别 19,我需要另一种等效的方法来实现此方法。
这是我已经在stackoverflow上找到的答案。既然已经很久了,有没有更好或更有效的方法来做到这一点?
android - Android:能够为不受支持的 Android 版本安装应用程序
我们正在放弃对 Android 2.3(API 级别 9)设备的支持,因为我们的大多数用户在他们的手机上都安装了更新的 Android 版本。我已将最低 SDK 版本更新为 api 级别 14。
但是,我仍然可以手动(而不是通过商店)在 Android 2.3 设备上安装该应用程序。这是预期的行为还是我做错了什么?我在其他地方找不到答案。
另一个奇怪的问题是 Lint 没有检测到正确的 api 级别。
这会导致警告:调用需要 api 级别 11(当前最小值为 9)。但是我目前的最小值现在是 14。所以这向我表明我做错了什么。我尝试清理和重建项目,重新启动 Android Studio。这一切都没有奏效。
谁能帮我吗?
编辑
根据 Sufians 的评论,我开始摆弄我的 gradle 文件,并找到了以下解决方案。然而,一些问题仍然存在。我的项目结构如下所示:
- android.gradle(包含 SDK 版本的顶级构建文件)
- 主模块(包含其他模块的基本代码)
- build.gradle(应用自:'../android.gradle')
- 子模块 A(模块特定更改)
- build.gradle(依赖于主模块)
- 子模块 B(模块特定更改)
- build.gradle(依赖于主模块)
android.gradle
我有一个包含 SDK 版本的顶级构建文件。然后我的模块包含构建文件apply from: '../android.gradle'
。如果我将 minSdkVersion 直接放在 de 主模块中,警告就会消失。应该是这样吗?还是我需要为每个子模块设置一个 minSdkVersion?还是有其他方法可以使 SDK 版本保留在android.gradle
文件中?
android - Android API 级别 - gradle 编译 - 会运行吗?
我将我的 android 项目中用于测试的 API 级别从 build.gradle 文件中的 22 更改为 7。
Gradle 构建项目没有问题,它在我的(Android 5.1 OS)上运行没有问题。
成功的构建是否表明应用程序可以在较低的操作系统(低至 API 级别 7)上正常运行?如果不是 - 我如何检查哪个 API 最适合我的应用程序?
android - 如何在代码中处理不同的 API 级别
我从材料设计的开发开始。
我的布局和样式分为棒棒糖前设备和棒棒糖及更高版本的布局和样式。
例如我使用
在我的棒棒糖前布局文件和
在另一个。因此,我被迫在相关活动类中使用两个不同的对象。这让我很困惑,并导致代码混乱。
我知道如何通过以下方式区分 API 级别
然而,解决这个问题的最佳方法是什么?
谢谢你的回答
android - 对于 API 级别最低为 21 的项目放弃 appcompat 是个好主意吗?
我正在启动一个最低 API 级别为 21 的项目,试图找出实现 ActionBar 的正确方法。官方文档从使用 appcompat 库开始,列出的主要优点是它将兼容性保留到第 7 级。我什至不想要预先安装 Lollipop。我应该使用 appcompat 吗?放弃 appcompat 库有什么好处或坏处吗?
android - JellyBean 在抓图时表现不同
我正在为 Jellybean、KitKat 和 Lollipop 以及几种不同的设备开发一个 Android 应用程序。
在项目开始时,我使用 Jellybean API 库,目标 API 为“anroid-18”,使用“三星 Galaxy Note 2014 版”。几个月后,设备的操作系统开始升级到 KitKat 操作系统,所以我将库更改为“android-19”,版本号为 4.4.2。
我现在有一个名为 Galaxy S tab 2 的新设备。
我现在有三个版本和两个设备,我的默认 API 是 4.4.2。
使用app拍照时出现的问题:
以下代码在 Jellybean 中没有问题:
为什么会这样?
Jellybean OS + Kitkat API = 失败
Kitkat 操作系统 + Kitkat API = 好的
Lollipop OS + KitKat API = OK
有问题的代码是
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ path)));
android - 如何为 android API 级别不一致获取编译时错误而不是 NoSuchMethodError 运行时错误?
android:minSdkVersion="15"
我有一个带有and的 Android Xamarin 应用程序android:targetSdkVersion="21"
。原来,如果我使用的是 API 15 以上的东西,那么 IDE(xamarin studio、visual studio)和编译过程就会忽略,这在此处不是预期的行为。
例如,有一个方法Path.addArc(float,float,float,float,float,float)
,API 21
我可以将它与上面的清单设置一起使用,这给了我一个运行时错误NoSuchMethodError
。
使用重载有一个简单的解决方法Path.addArc(RectF,float,float)
,API 1
但我的问题更多是关于如何获得编译时错误或运行时错误。
[更新]
基本上,我想在作为目标 android 版本的API 15
同时保持(最低 android 版本)的向后兼容性。API 21
当我尝试使用上述任何方法时,我想获得 IDE 支持API 15
。这意味着我需要一个警告,说明我正在使用定义的最低 android 版本中不存在的方法,因此请进行运行时版本检查。
可能吗?
android - 在旧 API 版本上使用不推荐使用的函数?
背景:我正在使用最低 API 级别 17 制作我的应用程序。
我正在寻找获取文件系统大小的方法并看到了这个:
http://developer.android.com/reference/android/os/StatFs.html
但是,许多较新的功能仅在 API 级别 18 以上可用,并且旧版本现已弃用。
我如何正确使用http://developer.android.com/reference/android/os/Build.VERSION.html之类的内容来表示:“如果用户的 API 级别为 17,请使用这些函数的弃用版本,但如果API 级别为 18+,使用这些函数的较新版本”?我需要以某种方式使用弃用注释吗?