如果您创建一个应用程序,它是否可以保证它适用于所有API级别?

时间:2017-08-19 18:34:04

标签: android

我想知道如果我只在这个版本的API中测试此应用程序,它是否仍然与上面的API版本相同?如果没有,开发应用程序的好方法是什么?为每个API创建1个1?

我从朋友那里听说他在KitKat开发了他的应用程序但是当他在Marshmallow中测试它时,一些功能无法正常工作。

3 个答案:

答案 0 :(得分:2)

我的朋友也遇到了类似于你朋友的问题。他的应用程序在kitkat中运行良好但是当他使用Lollipop时,相机无法正常工作。没有绝对的,你只能在尽可能多的设备上测试你的应用程序。

对于某些已弃用的方法,您应该密切关注它们,以确保它们仍能在更高的sdk级别上工作。

更令人讨厌的是,有些制造商更改了API,以便他们可以更深入地定制操作系统,例如小米MIUI。

答案 1 :(得分:2)

没有这样的保证。你应该注意每次发布一个新的主要Android版本,因为它可能会影响你的应用程序,即使你的目标是较低的api级别。

例如,Android O会限制后台执行,即使您没有定位api级别为26.请参阅:https://developer.android.com/preview/behavior-changes.html#atap

答案 2 :(得分:2)

每个Android更新都会发生变化,这里是开发应用程序时应该记住的很多事情中的一小部分:

  1. 运行时权限是Marshmallow及其后续的重大变化。开发人员可以添加任何权限的日子已经一去不复返了。运行时权限会提示用户授予在应用程序中运行特定功能的权限,并且用户可以选择拒绝该功能。如果您在执行操作之前未检查您的应用是否已获得所需的权限,则会收到安全性异常。

  2. 已添加权限组。每个组都有一组权限,应该在提示之前检查您所需的权限属于哪个组。

  3. 位置服务API也经历了一些变化。根据旧API,用户将被带到设置页面以打开位置服务。这已经改变,现在可以提示用户使用新API打开位置服务。查看文档以获取更多详细信息。

  4. Android O限制了可以执行的后台任务的数量。因此,作为开发人员,您必须明智地在哪个线程中执行哪个任务。

  5. 应用程序签名过程也发生了重大变化,特别是对于支持棉花糖及以上的应用程序。

  6. 这些只是开发应用程序时可能会记住的一些事项。另请注意弃用的api。