2017-12-29 17 views
-1

私はこのトピックに関する情報はほとんど見つけられません。ユーザーがAndroidを実行しているかどうかを検出したい私は使用しています:Python:Androidを検出する

platform.dist() 

これは、すべてのすべてのOSと異なるLinuxディストリビューションを完全に検出します。しかし、これをAndroidで実行すると、システム名は常に "Linux"として返されます。 Androidを検出する方法はありますか?私はサードパーティーのモジュールを含めることは望ましくありません。なぜなら、これはできるだけポータブルでなければならないからです。私がtry-catchで呼び出すことができる特定のAndroid機能がありますか?

答えて

2

あなたはKivy

from kivy.utils import platform 

if platform == 'android': 
    # do something 

EDITでこれを行うことができます。

私が言ったように、私は、任意のサードパーティ製の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

私が言ったように、私はサードパーティのライブラリを使うことはできません。プログラムは移植可能でなければならず、標準のPythonモジュールしか使用できません。 – goocreations

+1

@goocreations私は自分の答えを編集しました。 –

0

AndroidはLinuxカーネルにも基づいているため、システム名が返されます.Androidはディストリビューションの名前ですが、Linuxは深いところです。

+0

はい、私はそれを認識しています。しかし、私はまだデバイスがAndroidかどうかを知りたいので、Androidと他のディストリビューションを区別することができます。その他のディストリビューションの名前はすべて返されます(例:Ubuntu、Fedoraなど)。ただし、Android用ではありません。 – goocreations

関連する問題