Python:检测Android

goo*_*ons 3 python android operating-system detect

我很惊讶地发现关于这个主题的信息很少。我想检测用户是否正在运行 Android。我正在使用:

platform.dist()
Run Code Online (Sandbox Code Playgroud)

这可以完美地检测所有操作系统和不同的 Linux 发行版。但是,在 Android 上运行它时,它的系统名称始终返回为“Linux”。有没有办法检测Android?我不想包含任何 3rd 方模块,因为这必须尽可能便携。是否有一些特定的 Android 函数可以在 try-catch 中调用?

Ron*_*nez 8

你可以用Kivy做到这一点

from kivy.utils import platform

if platform == 'android':
    # do something
Run Code Online (Sandbox Code Playgroud)

编辑:

正如我所说,我不能使用任何 3rd 方库

看看 Kivy 是如何实现它的

def _get_platform():
    # On Android sys.platform returns 'linux2', so prefer to check the
    # presence of python-for-android environment variables (ANDROID_ARGUMENT
    # or ANDROID_PRIVATE).
    if 'ANDROID_ARGUMENT' in environ:
        return 'android'
Run Code Online (Sandbox Code Playgroud)