Articles of webview

如何使我的项目与不同的SDK版本兼容,同时使用特定版本的function

我正在开发一个在web视图中使用Flashvideo的项目。 我解决了所有关于代码的问题,但只在Honeycomb下工作。 阅读本文后,我发现如何解决Android 3.0及更高版本(包括ICS)的问题,但现在这是一个大问题…如果我使我的项目与ICS兼容,我必须使用该指令,但是我不会姜饼上运行。 为了提供更多的信息.​​..有问题的一段代码是这样的: android:hardwareAccelerated="true" 这是一个包含在Android 3.0中的属性。 那么,有什么办法可以避免构build两个不同的apks(像HoneyComb之前的apk和后HoneyComb apk)? 这是我的一个Android清单: <application android:label="@string/app_name" android:icon="@drawable/elabora" android:theme="@android:style/Theme.NoTitleBar"> <activity android:name="es.fundacionvodafone.elabora.android.controlador.InicioElaboraTest" android:label="@string/app_name" android:noHistory="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="es.fundacionvodafone.elabora.android.controlador.InicioElabora" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:hardwareAccelerated="true"> <!– <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> –> </activity> 提前致谢。 更新:我已经在使用Mike解释,也就是说,正确定义minSdk和targetSdk,但是我被以下事实弄糊涂了。 通过这样的项目configuration,当你在eclipse中运行项目时,它会提示下面的窗口: 红叉意味着项目targetSdk级别高于设备API级别。 所以我认为这只是在这个设备不工作,但事情是你可以真正运行它,并按预期工作。

我如何使用webview下载文件? (这种情况很奇怪)

我想使用webview从网站下载文件(如.mp3),但问题是每当我点击链接,它会打开浏览器(默认之一),这是在一秒之前它出现closures。 没有下载文件。 这是我的代码, import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import android.webkit.WebChromeClient; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.webkit.DownloadListener; import android.widget.Button; import android.widget.TextView; public class Main extends Activity { WebView webview; Button bt_search; TextView txt_search; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webview = (WebView) findViewById(R.id.webView); webview.setWebChromeClient(new WebChromeClient()); […]

WebView中的Flash无法在Android 3.2上运行

我遇到的问题只发生在我通过OTA更新到3.2的Motorola Xoom上。 我有一个简单的应用程序,使用WebView加载一个小的HTML,其中有Flash内容。 这是代码片段。 mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginsEnabled(true); 我知道这是正确的,因为它可以在运行Android 2.2的我的Samsung Galaxy S上正常运行。 其他人看到这个问题? 任何想法如何我可以解决这个问题? 非常感谢,我真的被困在这里。

必须加载数据两次,才能在Android中刷新WebView

当我第一次创build活动时,一切都很顺利。 但是,我从菜单中select后,改变一些string值的文本,并设置web视图 webview.loadData(result, "text/html; charset=UTF-8", null); webview.loadData(result, "text/html; charset=UTF-8", null); 我必须做两次,否则webview将保持不变。 有没有人知道这里发生了什么? 由于结果string是相同的,为什么webview强制我加载数据两次?

Android webview“未捕获的SyntaxError:意外的令牌非法”

在我的android程序中,我得到了一个webview,并需要dynamic地设置值到webview元素(textareas,checkbox等)。 我有一个JavaScript方法从程序接收值,并执行string操作,并将值存储到正确的元素。 但我总是得到这个错误…有点卡在这里。 任何帮助将不胜感激。 我成功地执行了w3schools TryIt编辑器中的脚本,但没有在程序中工作! final WebView webView = new WebView(getApplicationContext()); LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1); webView.setLayoutParams(params); webView.setBackgroundColor(Color.LTGRAY); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setDomStorageEnabled(true); webView.setWebChromeClient(new android.webkit.WebChromeClient()); webView.setWebViewClient(new WebChromeClient()); webView.loadData("<!DOCTYPE html><html><body>"+ questionsArray[questionIndex] +"</body></html>", "text/html", "UTF-8"); webView.addJavascriptInterface(javaScriptInterface, "HtmlViewer"); scrolRootLayout.addView(surveyWebView); 和我的Javascript方法来设置webView中的textareas值 function myFunction(var_) { var str = var_.replace("-!!!-",""); var pipeSplitedArray = str.split("||"); for(var i=0; i<pipeSplitedArray.length-1; i++) { if(pipeSplitedArray[i].indexOf("-!@!-") == […]

带有IFRAME android的WebView

我想在WebView加载一个HTML <IFRAME> ,但是我不知道为什么,它不能这样做。 我正在使用下面的代码来加载<IFRAME> webView.loadData("<iframe src=\"http://www.google.com\"></iframe>", "text/html", "utf-8"); 这是我所尝试的。 WebSettings webViewSettings = webView.getSettings(); webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true); webViewSettings.setJavaScriptEnabled(true); webViewSettings.setPluginsEnabled(true); webViewSettings.setBuiltInZoomControls(true); webViewSettings.setPluginState(PluginState.ON); 我提到了互联网许可: <uses-permission android:name="android.permission.INTERNET" /> 我也尝试设置WebViewClient与shouldOverrideUrlLoading总是返回false。 但它只是不工作。 我试过这个不同的网站,即非google.com网站。 我正在testing这个,三星Nexus S运行ICS 4.0.3

Web视图在滚动时闪烁/闪烁

我正在开发混合应用程序,我在应用程序中捆绑了HTML5文件。 我需要在HTML页面上播放video,因为我在清单文件中使用了android:hardwareAccelerated="true" permission 。 但是,当我滚动webview它闪烁/闪烁的看法。 请让我知道如何解决这个问题。 提前致谢。

我可以传递一个Javascript对象到一个Android WebView吗?

我正在将一个Web应用程序迁移到一个Android版本。 在收到并处理了JSON数据之后,我在页面中保存了一个Javascript对象数组。 我怎样才能将一个JavaScript对象的完整内容“out”传递给webview容器,以使用原生android控件进行显示? 最终,我可以创build一个JavaScript接口,其中包含每个可能的JavaScript对象属性的参数 – 但这似乎过于沉重。 有人能帮忙吗 ?

我如何禁用ViewGroup的所有孩子的所有触摸事件?

我有一个FrameLayout容器包含很多东西(包括ScrollView , WebView , ViewPager等)。 我想能够触发此容器上的onClick事件,但似乎有一些ScrollView , WebView和ViewPager拦截触摸事件,因为onClick事件只有当我点击容器的部分不触发有任何他们… 如何禁用容器的所有触摸事件,以便触发onClick中的任何位置? UPDATE 这个想法是有像Android 3.2中的任务pipe理器,即应用程序的当前可见屏幕显示为一个缩小的图标,可以点击。 谢谢

在webview android上显示网页的一部分

我想做一个应用程序,从网页加载到webview的内容。 我只想在整个webview中显示一个特定的东西,而不是整个网页的内容。 这是一个例子。 如果我使用: http : //us.m.yahoo.com/w/sea​​rch%3B_ylt=A2KL8xs0vUBQMg0AwAkp89w4?submit=oneSearch&.intl=us&.lang=en&.tsrc=yahoo&.sep=fp&p=digital+cameras&x=0&y= 0作为webview的URL,它会加载webview上的所有页面内容。 但我想删除页面的横幅,并显示在我的应用程序的web视图。 我曾尝试使用CSS标签使用adblocker,但是这不帮助我。 请给我一些解决这个问题的想法。 谢谢。