2017-12-29 21 views
-1

이 주제에 대한 정보가 거의 없습니다. 사용자가 Android를 실행 중인지 감지하고 싶습니다. 나는 다음을 사용하고있다 :Python : Android 감지

platform.dist() 

이것은 모든 OS와 리눅스 배포판을 완벽하게 탐지한다. 그러나 Android에서 실행하면 시스템 이름은 항상 "Linux"로 반환됩니다. Android를 감지 할 수있는 방법이 있습니까? 가능한 타사 모듈을 포함하고 싶지 않습니다. 가능한 한 이식성이 있어야합니다. try-catch에서 호출 할 수있는 특정 Android 기능이 있습니까?

답변

2

당신은 Kivy

from kivy.utils import platform 

if platform == 'android': 
    # do something 

편집하여이 작업을 수행 할 수 있습니다

내가 말했듯이, 나는 어떤 제 3 자 libs와

Take a look at how Kivy implemented it을 사용할 수 없습니다.

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' 
+0

앞에서 말했듯이 타사 라이브러리는 사용할 수 없습니다. 이 프로그램은 이식성이 있어야하며 표준 파이썬 모듈 만 사용할 수 있습니다. – goocreations

+1

@goocreations 내 대답을 편집했습니다. –

0

안드로이드도 리눅스 커널을 기반으로하기 때문에 시스템 이름이 'Linux'로 반환됩니다 .Android는 배포판의 이름이지만 리눅스는 깊은 곳입니다.

+0

예, 알고 있습니다. 하지만 여전히 장치가 Android인지 아닌지를 알고 싶기 때문에 안드로이드와 다른 배포판을 구별 할 수 있습니다. 다른 모든 배포판의 이름이 반환됩니다 (예 : Ubuntu, Fedora 등). 안드로이드는 안됩니다. – goocreations