【发布时间】:2014-10-21 03:34:03
【问题描述】:
Android 是否有任何类型的条件编译?我正在尝试使用 android.webkit.WebView.onPause(),同时还支持 Android API 8。
我尝试了 Fiddler 和 Andrey Voitenkov 在Conditional compiling in Android? 提出的解决方案:
public void pause()
{
int version = android.os.Build.VERSION.SDK_INT;
if(version >= 11)
{
webViewOnPause(_webView);
}
super.onPause();
}
@TargetApi(11)
void webViewOnPause(final android.webkit.WebView webview)
{
new Runnable() {
public void run() {
new PauseStuffAvailableOnHC(webview);
}
}.run();
}
class PauseStuffAvailableOnHC
{
@TargetApi(11)
public PauseStuffAvailableOnHC(android.webkit.WebView webview)
{
webview.onPause();
}
}
...但我仍然无法编译/运行应用程序:
“对于类型WebView,onPause()方法未定义”
和
“您的项目包含错误,请在运行您的应用程序之前修复它们。”
是我做错了什么,还是根本不可能做到这一点?
【问题讨论】:
-
您编译的 Android 版本是什么? (注意:这与您允许的 minSdkVersion 不同)
-
你也可以提供你正在工作的课程的包含吗?
-
我正在针对 Android API 8 进行编译,这也是 minSdkVersion。
-
导入 java.lang.reflect.InvocationTargetException;导入java.lang.reflect.Method;导入 java.util.ArrayList;导入 java.util.Vector;导入 java.util.concurrent.TimeUnit;导入 android.annotation.SuppressLint;导入android.content.Context;导入android.content.res.Configuration;导入android.content.res.Resources;导入android.graphics.Bitmap;导入android.graphics.Point;导入android.os.Bundle;
-
导入android.util.Log;导入 android.view.LayoutInflater;导入android.view.View;导入android.view.ViewGroup;导入 android.webkit.WebChromeClient;导入 android.webkit.WebSettings;导入 android.webkit.WebView;导入 android.webkit.WebViewClient;导入 android.widget.ImageButton;
标签: android conditional-compilation android-version build-time