问题标签 [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 投票
4 回答
3811 浏览

android - Suppress API level warning in code

I am trying to create an intent to create an sms with compatibility for API levels higher than KitKat. The code works, but I got a warning that the API level 19 is required. I tried to solve it with @TargetApi(Build.VERSION_CODES.KITKAT) but got a warning "Annotations are not allowed here".

Is there an easy way to ignore this warning?

Thanks in advance!

0 投票
2 回答
81 浏览

java - api 级别 11 以下设备的 FragmentActivity 类

我是android开发的新手。

我创建了类并从FragmentActivity.

当我使用这个功能getFragmentManager()

它不允许我这样做

我也无法使用getSupportFragmentManager,因为它也给了我无法从支持 api 转换为 android.app 的错误

但是后来我在从FragmentActivity类扩展的抽象类上使用了 TargetApi(11) 属性。

现在错误消失了。

但我想知道,targetApi(11) 是否会限制我的应用在 api 11 以下的安卓设备上运行我的应用?

或者低于 api 11 不允许碎片或因此不支持 FragmentActivity 类?

如果我提到的最后一件事是真的,我应该使用新活动而不是片段吗?

0 投票
1 回答
6566 浏览

android - 获取已连接音频设备列表的 android api 是什么?

我使用下面添加的代码来获取 android 设备的连接音频设备。使用 AudioManager api 方法getDevices()并通过耳机、扬声器、耳机等连接设备获得结果。但此getDevices()方法仅在 android api level 23 (Marshmallow) 后可用。

但我的应用程序应该支持 api 级别 21 (Lollipop)。请任何人都可以让我知道替代 api 来获取 android 设备的可用音频设备。

与 api 级别 23 一起使用的代码。

请通过提供一种方法来帮助我,为运行 Android OS 版本低于 Marshmallow(api 级别 23)的设备获取连接的音频设备。

0 投票
0 回答
52 浏览

java - 前台服务在更高版本的 API 上表现不同

tl;dr... 服务在较新的 API 上运行时间越来越少。

我的 android 应用程序最初是针对 android 4.3(API 版本 18)编写的,因为我当时的手机是旧手机。现在我有一部带有 Lollipop 5.1.1 (API 22) 的闪亮新手机。

最初尝试只是天真地在新手机上安装该应用程序,但其中大部分仍然有效。一个明显的区别是,我用来在后台执行一些长时间重复任务的服务不再获得与以前相同的运行时间。

该服务更新一个“持续通知”项目,该项目通过从 300-0 更新倒计时然后重新启动来简单地显示该服务正在运行。在旧手机上,即使手机睡着或我正在使用其他应用程序,它也可以正常运行并且不会中断。这就是我想要的行为。

然而,在具有更高版本 API 的新手机上,该服务似乎根本没有运行时。从我的倒计时数字来看,它似乎每隔一两分钟就运行了 5 秒,然后又停止了一段时间。当手机处于睡眠状态时,它似乎获得了更多的运行时间。代码基本上仍然有效,因为计数最终会被执行,但会反复中断。

我更改了我的 Android Studio 设置以专门针对这款手机的 android 版本,但这似乎并没有解决问题。

我对 Android 还是比较陌生,并不知道如何解决这个问题。

这是一个工作项目,所以很遗憾,我无法在此处粘贴任何代码。我正在使用 startForeground() 来启动服务,并且服务本身使用 Handler 类的内部实现来允许在单独的进程/任务中进行多线程处理。

0 投票
2 回答
5369 浏览

android - 在开发者控制台中将 Android 目标 Api 级别 23 降级为 22

我上传了一个新的 beta 测试版本,Android target api level 23。在它之前是 22。我不知道,API Level 23 有很多关于权限的变化。我意识到在上传 api 级别 23 的新 beta 测试版本后。所以我构建了一个新版本,它再次使用 api 级别 22,以便有更多时间将我的应用程序调整到 api 级别 23。

但是现在每次当我上传 api 级别 22 的版本时,我都会在开发者控制台“无法保存应用程序”中收到一个错误,没有关于该错误的更多信息,我无法上传它。当我用目标 API Level 23 编译一个新版本时,它可以再次上传。我认为问题是降级到 api Level 22。

是否真的,一旦您在封闭 Beta 测试中发布了 API Level 23 版本,您就不能降级回目标 API Level 22?

谢谢你的帮助!

微笑

0 投票
2 回答
44 浏览

android - 为什么 sdk 版本检查不起作用?

我有这个代码片段:

为什么这在我的 android 手机 (api level 15) 上不起作用,但是当我用下面的代码替换它时,它工作正常?

0 投票
1 回答
2145 浏览

android - 是否可以使用 Api 23 (6.0) 进行编译并维护旧的权限系统(安装时)?

我在官方的 android 博客上读到了这个:

权限更改 使用 Marshmallow,权限已从安装时转移到运行时。这是 SDK 23+ 的强制性更改,这意味着它将影响所有开发人员和所有面向 Android 6.0 的应用程序。

所以...如果您使用 Android 6.0 (api 23) 编译但您的目标是 Android 4.4 (api 20),是否可以维护旧的权限系统?

我的意思是这样做:

我现在项目的必要条件是维护旧的权限系统并以 sdk 版本 20 为目标(因为我需要维护旧的通知系统,如果您的目标 sdk 版本高于 20,则必须使用新的通知系统)。那么...如果我以 sdk 版本 20 为目标,我可以使用 Api 23 编译并维护旧的权限系统吗?

谢谢

0 投票
2 回答
602 浏览

java - 位图 API<14 上的 ScriptIntrinsicBlur

我需要在 Android API<14 的导航标题视图上放置模糊的背景图像。我阅读了很多关于 ScriptIntrinsicBlur 的文档,但他已被添加到 API<17。

我知道 getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND)存在,但它似乎在 Windows 上使用,而不是在位图图像上使用。

你知道如何在 API<14 上将我的位图图像转换为模糊位图或 Drawable 吗?

谢谢 !

编辑 :

- 第 1 步:添加到 build.gradle(Module: app):

- 第2步导入android.support.v8.renderscript.*;

这行得通 !ScriptIntrinsicBlur 现在可以使用了。感谢 Nikola Despotoski 的帮助。

0 投票
1 回答
5189 浏览

android - API 级别 20 或以下的 EditText 是否有任何 letterSpacing 属性的替代品

我在编辑部分添加了为什么我的问题与问题不重复,请查看..


我们使用EditText 中的letterSpacing属性来定义字母之间的间距,例如在图片中.

但根据文档,这仅在 API 级别 21 或更高版本中引入,如果我们尝试在较低的 API 级别版本中使用它,它会直接显示渲染问题,如图所示在这幅图片中

在 API 级别 20 之前,在 EditText 中使用letterSpacing是否有任何替代方法?



编辑

它被标记为重复问题,但我要通知的是android:textScaleX属性和android:letterSpacing属性不同。

举个例子,在EditText中添加这两个属性

添加的结果android:letterSpacing

letterSpacing 的结果

添加的结果android:textScaleX 结果2

0 投票
1 回答
2802 浏览

android - 停止记录 Android 信标库

我正在尝试停止调试 Android 信标库,但它不起作用。

我的gradle中有这个:

我试过了:

但无论如何,我都会不断收到这些日志。他们开始调试其他东西。

任何线索?