Kivy + PyJnius 检查 android 版本

Kivy + PyJnius check android version

有没有办法直接从 python 或 pyjnius 获取 android 版本(4 或 5 或 6 或 7)?

如果是这样,谁能举个例子?

我尝试了 kivy.platform 但它只告诉我它是否是 android 并且使用 python 中的 platform.release 给了我 linux 版本

您可以使用 pyjnius 通过 Java API 检索版本,例如here.

您可以使用我在 here 中的模块(在页面上单击下载 > 仅文件)并将下载的文件放入包含您的 kivy 项目的文件夹中。添加到您的 .py 文件:

import PyAndroid

现在您可以使用:

print(PyAndroid.android_version())

打印android版本或

print(PyAndroid.android_name())

打印android姓名

对于所有函数,您可以阅读 documentation

希望对你有所帮助 :D

我也有同样的问题。我想知道版本来决定是否引用特定的 class,它在 SDK 23 之前的版本中不存在。

然后我意识到有更好的方法。

try:
    AudioFocusRequest = autoclass('android.media.AudioFocusRequest')
except jnius.JavaException:
    # Not available on earlier versions of Android.
    AudioFocusRequest = None

现在,我不需要知道实际版本是什么,也不会有任何阈值错误的错误。我只是在使用之前检查 AutoFocusRequest 是否存在。