-3

好的,所以当我打开我的应用程序时,它应该检查手机的特定版本以使其正常运行。我不想要单独的应用程序,因为这会惹恼用户。我试过这个:

if(Build.VERSION.SDK_INT >= 2.2.3 && Build.VERSION.SDK_INT >= 2.1){
        //Stuff goes here
        }

现在,这是 Eclipse 中的一个基本错误。现在,我可以试试这个:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) {
 //Stuff goes here
 }

但是,如果用户拥有带有自定义 ROM 的 root 手机,它可能会显示不同,因此可能会显示不同,另一件事是这只会给出手机操作系统的名称,而不是特定版本。我试着在 Eclipse 中写这个:

if(Build.VERSION.RELEASE >= 2.2.3 && Build.VERSION.RELEASE >= 2.1){
        //Stuff goes here
    }

它在 Eclipse 中返回一个错误。还有什么好的方法吗?

4

1 回答 1

3

现在,这是 Eclipse 中的一个基本错误

那是因为SDK_INT是一个int,而不是一个float。您可以通过阅读文档来了解这一点。

此外,2.2.3在任何编程语言 AFAIK 中都不是有效数字。

但是,如果用户拥有带有自定义 ROM 的 root 手机,它可能会显示不同,因此可能会显示不同,另一件事是这只会给出手机操作系统的名称,而不是特定版本。

不,Build.VERSION_CODES.GINGERBREAD是一个int. 您可以通过阅读文档来了解这一点。

它在 Eclipse 中返回错误

那是因为RELEASE是一个字符串,而不是一个float. 您可以通过阅读文档来了解这一点。

还有什么好的方法吗?

您的第二种方法是正确的使用方法。

于 2012-10-21T22:24:31.790 回答