我正在开发一个使用 wi-fi direct 模块的应用程序。众所周知,它在 Android 4.0 之前不可用,但我想在没有 wi-fi direct 的情况下保持兼容性。
问题是我正在使用来自 Channel 或 WifiP2pManager 等类的实例变量。当然,在 ICS 的早期版本中,它们将不可用。我只是在遵循 Android 官方开发者指南,所以看起来我没有做错任何事情。
关于如何解决这个问题的任何想法?
谢谢!
我正在开发一个使用 wi-fi direct 模块的应用程序。众所周知,它在 Android 4.0 之前不可用,但我想在没有 wi-fi direct 的情况下保持兼容性。
问题是我正在使用来自 Channel 或 WifiP2pManager 等类的实例变量。当然,在 ICS 的早期版本中,它们将不可用。我只是在遵循 Android 官方开发者指南,所以看起来我没有做错任何事情。
关于如何解决这个问题的任何想法?
谢谢!
if(Build.VERSION_CODES < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { // compat code here } else { // normal code here }
使您的代码有条件,例如
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES. ICE_CREAM_SANDWICH ) {
// something
}
或在清单中设置 minSdk 版本
android:minSdkVersion="14"
或者,如果您需要,将您的应用程序拆分为单独的模块,使核心不需要 API14,但尝试使用 wifi-direct 模块。wifi-direct 模块需要 API14,因此具有适当设备的用户可以同时安装两者,而其他的只是核心。
It was not a problem with this. It was a problem with Roboguice =)
I've just opened an issue. Just if someone wants to try it =)
http://code.google.com/p/roboguice/issues/detail?id=226&thanks=226&ts=1353421889