动态选择api in mono for android

时间:2013-04-19 05:34:46

标签: android mono xamarin.android

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

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

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

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

1 个答案:

答案 0 :(得分: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