首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何支持尽可能低的API版本?

如何支持尽可能低的API版本?
EN

Stack Overflow用户
提问于 2013-06-12 21:55:35
回答 4查看 152关注 0票数 0

我正在开发一个Android库,我想要支持尽可能多的API版本。我偶然发现了AsyncTask的一个问题,并在这里找到了一个answer。建议使用的代码是:

代码语言:javascript
运行
复制
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1) {
    task.execute(params);
} else {
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
}

我的问题是,我如何包含建议的代码并支持尽可能低的API级别?我应该引用哪个API版本?我应该在uses sdk标签内部清单中写什么?

由于AsyncTask中的字段THREAD_POOL_EXECUTOR仅在接口级别11中可用,可以将此代码编译到更低级别吗?

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-12 22:12:21

假设您的清单中存在以下行

代码语言:javascript
运行
复制
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/>

这意味着您使用的是API-17的特性,但为了确保向后兼容性,您的应用程序可能会在最低API-8 (Froyo)上启动。

根据您的示例,对API-17或更低版本使用THREAD_POOL_EXECUTOR是可以的。在Froyo设备上运行你的代码也是可以的。因为在这种情况下不会使用THREAD_POOL_EXECUTOR字段。

票数 3
EN

Stack Overflow用户

发布于 2013-06-12 22:09:36

在清单集API中,这是您希望支持的最低android:minSdkVersion="minimumApiYouNeed"android:targetSdkVersion="maximumApi"。这是将用于编译代码的api。这样,您将能够执行类似于您在那里编写的内容,如果您曾经编写过不受最低api支持的内容,编辑器将通知您,但如果您进行检查,它将正常工作

票数 3
EN

Stack Overflow用户

发布于 2013-06-12 22:00:09

您必须使用API11或更高级别,除非您能找到在提供THREAD_POOL_EXECUTOR实现的早期API级上工作的库。此外,请查看Google是否提供了任何后端口或支持库,以便在API11之前实现此功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17067399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档