0

有没有办法检测当前版本的android并为一个版本使用一个代码路径,为更高版本使用另一个代码路径?

像 ClipboardManager 这样的东西,API 级别 11 中有一个新版本,但访问这个新类的唯一方法是告诉 mono for android 最低要求是 API 级别 11。

我“认为”你可以使用 java 反射来解决这个问题,但我想这在使用 Mono for Android 时是行不通的。有没有人对如何使用两个 ClipboardManager 有任何建议,早期版本的早期版本,后期版本的后期版本,而不将 API 级别设置为 11 或更高。

这是一个通用示例,不限于 ClipboardManager。我相信我会遇到更多的类,如果可用的话,我可以选择使用它们。

4

1 回答 1

1

当然有。只需确保在清单中设置您的目标 API 级别。

例如,当想要使用 API 11 时,您可以执行以下操作:

if ((int)Build.VERSION.SdkInt >= 11)
{
    //Execute API 11 and up code here
}

但是,如果您使用的方法和类仅存在于 API 11 中,VS 可能会抱怨找不到它们,因此您可以在它们周围加上预处理器符号,例如:

#if __ANDROID_11__
    // your API 11 and up code here
#endif
于 2013-04-24T06:10:52.310 回答