根据版本号选择android操作系统名称

2024-05-14 15:35:55 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,祝大家今天愉快!你知道吗

我的代码需要通过getprop ro.build.version.release来检测哪个android版本正在使用。我使用带有root和python for android的系统来实现这一点。你知道吗

就目前而言,我测试代码的设备运行良好,但部分原因是我没有考虑到新操作系统版本之间的更新。我刚把我正在测试的新版本加到字典里。你知道吗

假设我有一本字典:

VersionName = {'4.0':"Ice Cream Sandwich", '4.0.4':"Ice Cream Sandwich", '4.1':"Jelly Bean", '4.2':"Jelly Bean", '4.3':"Jelly Bean", '4.4':"KitKat", '5.0':"Lollipop", '5.1':'Lollipop', '6.0':"Marshmallow", '7.1.1':"Nougat"}

我想补充一点:

'4.4.2':'KitKat'

保存并检测我正在处理的新版本,但这行不通。为了克服这个问题,我只需搜索一下android版本的第一个和最后一个版本。你知道吗

VersionName = {'Ice Cream Sandwich':['4.0', '4.0.4'], 'Jelly Bean':['4.1', '4.3.1'], 'KitKat':['4.4', '4.4.4'], 'Lollipop':['5.0', '5.1.1'], 'Marshmallow':['6.0', '6.0.1'], 'Nougat':['7.0', '7.1.1']}

如果更新版本介于这两个值之间,则会出现问题。你知道吗

给定{'KitKat':['4.4', '4.4.4']}和设备版本4.4.2如何检测它是否是KitKat的一部分


Tags: 代码版本字典marshmallowandroidcreamicebean
2条回答

可能将最小值和最大值存储为两个变量,然后在os(版本)>;(最小值)时执行: 然后检查os(版本)<;(最大值)

这就是我在提供帮助的情况下解决问题的方法!有更好的方法,我知道很多,所以如果有人有其他方法请分享。你知道吗

def DroidName(ReleaseVersion):

   # ReleaseVersion = '4.4.2'
   VersionValue = {'Ice Cream Sandwich':['4.0', '4.0.4'], 'Jelly Bean':['4.1', '4.3.1'], 'KitKat':['4.4', '4.4.4'], 'Lollipop':['5.0', '5.1.1'], 'Marshmallow':['6.0', '6.0.1'], 'Nougat':['7.0', '7.1.1']}

   for i in VersionValue.items():
      AndroidName = i[0]
      MinimalValue = i[1][0]
      MaximunValue = i[1][1]
      if ReleaseVersion >= MinimalValue and ReleaseVersion <= MaximunValue:
         print AndroidName, ReleaseVersion
         break

相关问题 更多 >

    热门问题