问题标签 [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.

0 投票
1 回答
422 浏览

android - 使用 Android API 10 的意图问题

我即将构建一个新的应用程序。我只是发出警报,我的目标主要是帮助老年人(我假设他们不会像极客一样遵循技术,他们可以使用 5-6 岁的旧手机)并且最大用户数不是闪亮的新功能。所以我可以根据Android Dev忽略 API 8 的 0.1%,但我不想忽略 API 10-15 的 ~5%。

所以我决定使用 API 10 作为最低 SDK 级别。在 Android Studio 中下载 API 10 时,我遇到了过时警告,如图所示:

2

好吧,也许这里显示错误,最好直接从 Android SDK 管理器执行此操作。它是一样的,我有一个额外的警告 SDK 平台与 Windows 不兼容

3

如果我没记错的话,它在 2015 年末还没有过时。Google 将我与 API 级别混淆了,因为它们拒绝向后兼容。无论如何,这是我脑海中的一堆问题:

  1. 这是否意味着 Google 不再关心这 ~5%(API 10-15 用户和开发人员)?
  2. 过时是什么意思?只是不再受 Google 支持?
  3. 将此 API 用于新项目是不是一个坏主意?如果我现在和将来使用它,我会面临哪些问题?
  4. 如果我选择更新的 API,比如 18 级以上,5 年后我会做什么,直到 API 过时?如果除了基本的东西和修复之外我不会添加任何新功能,那我必须升级 API 吗?
0 投票
3 回答
5042 浏览

android-studio - Android:无法在非静态方法中设置 getContext() - 需要 API 级别 23

下面是一些从非静态方法调用的源代码。我收到错误

“调用需要 API 级别 23(当前最低为 15);android.app.Fragment#getContext”

如何获取上下文对象?

在对象资源管理器 > Gradle Scripts > build.gradle 下,我看到了这个。对我来说看起来像第 23 版。我在寻找正确的位置吗?

看起来我有 Android Studio 1.5.1。我刚刚在 Android Studio 中选择了 SettingsActivity 项目模板。并向该默认代码添加了一个类。

0 投票
6 回答
54699 浏览

android-studio - 未找到 Android API 23 平台的源 (Android Studio 2.0)

Android Studio 没有正确地将我重定向到 API 源。当我点击任何函数时,它会反编译 .class 文件字节码,而不是从 sdk/sources 树访问正确的文件。 点击“下载”和“刷新”选项无济于事。实现监听器特别烦人,因为它从文档(即 var1、var2 等)生成没有变量鬃毛的函数标题。我已经安装了 API 23(SDK 平台、工具、文档、源代码)。我已将编译和目标 SDK 设置为 23。我尝试重新安装 SDK 工具,从金丝雀频道更新 AS,使缓存无效,但到目前为止没有任何帮助。我切换到 API 21,它工作正常。

我错过了什么?

我的 build.gradle:

您可以在下面找到具有相同 API 23 集和相同行为的空白项目(没有 3rd 方库)的 gradle 输出。

0 投票
2 回答
104340 浏览

android - API 23中的Android权限正常权限和危险权限列表?

在 API 23 运行时请求权限需要哪些权限?

0 投票
1 回答
394 浏览

android - Android Target API - 如何测试我能走多低?

我正要发布一个应用程序(至少给朋友和家人)。我的项目 API 级别是:

当人们即将开始努力时,我经常听到这个问题;

我应该针对什么 API 级别?

我显然已经过去了 - 使用 19minSdkVersion将适用于我的大多数目标受众。

我想知道的是这个;我不确定我编写的代码是否真的需要SDK 级别 19。我想我可能会在不修改minSdkVersion.

然而,我不确定如何测试这个。我可以简单地尝试降低它直到 Gradle 抛出构建错误吗?如果应用程序构建,它是否保证工作?我似乎无法在任何地方找到这些信息。

0 投票
2 回答
994 浏览

android - 由于目标 api23,无法更新商店中的应用程序(无法降级)

长话短说:

问题:

  • 使用目标 api23 上传一次的应用程序,无法使用较低的目标 api 更新
  • 由于文本重定位错误,metaio 无法处理 api23

到目前为止的想法:

  • 用较新的版本替换旧的 libavcodec.so (arm & x86),但我找不到任何编译版本...

PS:使用已弃用的 sdk 肯定是转储,并且必须在将来的某个时间更换,但现在我必须使用它,因为项目中使用了巨大的内容和后端部分。

PPS:最坏情况的想法是在 GooglePlay 中上传相同的应用程序,但具有不同的 ID、api22 和 AR 功能......并且有两个几乎相同的应用程序...... <_<

非常感谢您的每一次帮助!:)

0 投票
1 回答
504 浏览

android - Android API 21+ DatePicker 无法隐藏字段

我试图在 AlertDialog 的 DatePicker 中仅显示月份和月份字段。在 API 21 以前的 API 上,我可以使用下面的代码来完成。但是当我尝试在 API21+ 中执行此操作时,“getDeclaredFields()”甚至不会像“mYearPicker”或“mYearSpinner”字段那样返回。有谁知道如何我可以只显示日和月字段吗?我什至不知道“116”是什么字段。

我的代码是这样的:

应该看起来像: 在 API 21 之前

看起来像这样: API 21+

任何想法?

0 投票
1 回答
87 浏览

android - 以编程方式添加按钮在 API 级别 23 中不起作用。我需要动态生成按钮。如何添加它们?

以下是向 LinearLayout 动态添加按钮的代码:

以下是我的视图 XML:

没有运行时错误。该应用程序正常启动。

我调试了这段代码,它运行没有问题,但我仍然看不到视图上的按钮。

0 投票
1 回答
89 浏览

android - Vector Drawable vs Png apk 拆分

目前我们正在尝试按 API 级别拆分我们的 Android APK,以便小于或等于 19 个获取 PNG,大于 21 个获取新的矢量可绘制 XML,因为我们正在尝试减少应用程序的占用空间。目前,我们正在努力提出一个多项目模式,因为我们还没有在当前项目中做到这一点(有点像一个大单体)。有没有人看到任何这样的例子或提供关于如何准确拆分项目的建议?我们希望对两者使用相同的代码,只需拆分资源。

0 投票
3 回答
2811 浏览

android - 如何对较低平台版本使用不支持的异常

我有一个DialogFragment为我的应用程序处理登录和指纹身份验证的设备。此片段使用 API 23 独有的两个类,KeyGenParameterSpec以及KeyPermanentlyInvalidatedException. 我一直认为我可以使用这些类,只要我在尝试初始化类之前检查构建版本(在此处概述):

但似乎情况并非如此。如果我尝试在 API 20 之前的版本上运行此代码,Dalvik VM 会拒绝整个类并抛出VerifyError. 不过,该代码确实适用于 API 20 及更高版本。如何在我的代码中使用这些方法,同时仍然允许将代码用于以前的 API 级别?

完整的堆栈跟踪如下:


用代码更新

login()方法只是一个方便的方法来启动LoginFragment

相关代码在其LoginFragment本身。具体的createKeyPair()initializeCipher方法:


更新

好的,所以我KeyPermanentlyInvalidatedException发现是导致错误的原因。如果我注释掉catch处理该异常的块,则代码在任何设备上都可以正常运行。问题是我需要能够在 API 23+ 上的设备上处理该异常: