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 是否存在。
有没有办法直接从 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 是否存在。