日志<GATE-M>DEV_ACTION_COMPLETED</GATE-M>似乎在Android上延迟执行
我最近注意到我的应用程序偶尔会出现滞后.我的意思是,我可能需要40秒钟,这取决于我使用WiFi或移动数据... 我加载页面URL,然后加载JS进行执行: webView = (WebView) view.findViewById(R.id.WebView); webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { logDebug("Loading URL: " + url); super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverr
如何在安卓webview中使用弹出窗口?
我正在使用WebView来开发浏览器,例如我自己的理解. 我尚不清楚如何与Android WebView中的弹出窗口一起工作. 我遇到这些方法onJsAlert(),onJsBeforeUnload(),onJsConfirm()等来处理Java脚本弹出.从这个 link 以及开发人员链接 当有jsalert时,这些工作是在新窗口中打开的弹出窗口时的工作? 我只想知道,还有其他任何方法可以处理Android WebView中的网站弹出式弹出窗口,例如在新选项卡中打开或使用WebView在新窗口中打开. 我也很难打开在普通浏览器中的新窗口中打开的URL. " https://stackoverflow.com/questions/8647383/open-pop-up-external-siter-link-ink-in-current-webview"> here 这是普通Android浏览器的快照,但它是在我的网络浏览中加载的,因为它是正常页面,而不
2 2024-02-19
编程技术问答社区
安卓WebView VS 手机浏览器
我在Android中使用WebView经历了许多奇怪的行为,我想知道为什么在每个手机上安装WebView和Browser之间有这么多衍射? 为例,我已经开发了一些必须显示HTML内容的应用程序,其中包含jquery-mobile,flash,javascript,YouTube嵌入式等.因此,在WebViews内显示此页面时,我遇到了很多问题.他们要么根本不会展示,只有空白,要么视频不会播放等等.奇怪的是,如果在手机上安装的Browser中打开,它们可以正常工作.我启用了JavaScript,我尝试了Diffent WebChromeClient 和因此,我得出的结论是,WebView组件与手机上安装的应用程序完全不同.我认为每个制造商都制造自己的Browser来支持尽可能多的页面,而WebView仍然是标准的页面,其中包括Android SDK. . 我对吗?还是有其他原因/解释? 谢谢. 编辑: @OndoTeam建议的所有内容均已启用并设置为当时.我不再有对该网站的
0 2024-02-19
编程技术问答社区
点击WebView链接打开默认浏览器
现在,我有一个加载WebView的应用程序,所有点击都保留在应用程序中.我想做的是当某个链接时,例如, http://www.google.com 单击应用程序中,它打开默认浏览器.如果有人有一些想法,请告诉我! 解决方案 我今天必须做同样的事情,我在stackoverflow上找到了一个非常有用的答案,我想在这里分享,以防其他人需要它. source (来自 sven ) webView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url != null && (url.startsWith("http://") || url.startsWith("https://"))) { view.getContext().startActivity(
0 2024-02-19
编程技术问答社区
无法获取SAMSUNG S4的本地浏览器历史记录
我正在从设备本机浏览器访问浏览器历史记录.我使用以下代码 - Cursor cur = getContentResolver().query(Browser.BOOKMARKS_URI, new String[] { Browser.BookmarkColumns.URL }, null, null, BookmarkColumns.DATE + " DESC"); 它在所有设备中都可以正常工作,但是在三星S4光标中返回null. 我发现在获得正确响应的设备中,浏览器软件包是'com.android.browser',但在S4设备中,它是'com.sec.android.app.sbrowser'.那是问题吗?但这是三星S4中的本机浏览器. 预先感谢. 解决方案 尝试这个 - Uri uri = Uri.parse("content://com.sec.android.app.sbrowser.browser/
0 2024-02-18
编程技术问答社区
安卓浏览器媒体播放器(stagefright?)显示媒体名称
当Android浏览器打开它可以播放的媒体文件时,内置的(StageFright?)媒体播放器将打开以进行流式传输.此媒体的标题显示在播放器对话框中,基于URL. 在这种情况下,URL为http://10.0.37.195/waug_mp3_128k.媒体播放器只是将路径的最后一部分用作其标题. 是否可以更改显示的标题? 我尝试了Content-Disposition标题,但没有效果: Content-Disposition: inline; filename=Some Better Title 解决方案 简短的答案是否.我认为您无法更改显示的标题以显示服务器中的其他内容. 我相信播放器是默认 AudiopReview 默认AOSP音乐应用程序的活动.查看其源代码,显然它将仅使用HTTP方案使用URI的最后一个路径段进行流(它只会查询媒体数据库中的本地内容/文件). 这是相关代码片段: @Override public void onCre
安卓浏览器:打开几个URL,每个都在新窗口/标签上(程序化)。
我知道如何使用意图打开URL: Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.lala.com")); startActivity(browserIntent); 但是我如何打开多个URL,每个URL在新窗口/选项卡上? 上 尝试创建多种意图,并以不同的起始性打开每个意图,但它只是打开列表中的最后一个; code code code startActivity(Intent1); startActivity(Intent2); startActivity(Intent3); -> only Intent3 is opened eventually (which of course make sense :)). 感谢任何帮助! 更新:仍在寻找答案:/ 我想出了一个可能的解决方案,这确实在新窗口中打开了URL. Intent
0 2024-02-15
编程技术问答社区
如何从我的应用程序中在Android'的网络浏览器中打开一个URL?
如何在内置的Web浏览器中而不是在我的应用程序中打开代码的URL? 我尝试了: try { Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(download_link)); startActivity(myIntent); } catch (ActivityNotFoundException e) { Toast.makeText(this, "No application can handle this request." + " Please install a webbrowser", Toast.LENGTH_LONG).show(); e.printStackTrace(); } 但是我有一个例外: No activity found to handle Intent{action=android.intent.action.VIEW d
2 2024-02-15
编程技术问答社区
在Chrome和其他浏览器中获取最后访问的URL's
我想在Chrome和其他浏览器的Chrome和其他浏览器中获得最后一次访问的URL.我可以在Android Native浏览器中获得最后一个URL.我为此使用以下代码 - Cursor cur = getContentResolver().query(Browser.BOOKMARKS_URI, new String[] { Browser.BookmarkColumns.URL }, null, null, BookmarkColumns.DATE + " DESC"); if (cur != null && cur.getCount() > 0) { cur.moveToFirst(); String url = cur.getString(cur .getColumnIndex(Browser.BookmarkColumns.URL)); c
0 2024-02-13
编程技术问答社区
安卓浏览器.BOOKMARKS_URI在所有设备上都不工作。如何为一个给定的设备找出正确的URI?
我正在尝试使用android browser.bookmarks_uri从我的应用程序中使用crud设备书签( https://play.google.com/store/apps/details?id=com.elementique.web ) 它在大多数设备上都可以正常工作,但对某些设备不起作用: - ( 在这些设备上,尝试使用书签会导致 java.lang.IllegalArgumentException: Unknown URL content://browser/bookmarks 我现在了解到Boookmark Uri可能与AOSP默认值不同(即" content://browser/bookmarks"). 问题: 如何获得给定设备的正确书签URI ? 我已经"收集"以下URI private static final Uri BOKKMARKS_DEFAULT = Browser.BOOKMARKS_URI; // = Uri
8 2024-02-13
编程技术问答社区
我们可以在我们的安卓应用程序中获得铬的浏览历史/书签吗?
我们可以使用read_history_bookmarks权限获得默认浏览器的铬浏览历史/书签吗? PS:我只想知道可能吗? 解决方案 是的,这是非常有可能的. 使用此uri:content://com.android.chrome.browser/bookmarks而不是浏览器.Bookmarks_uri String[] proj = new String[] { Browser.BookmarkColumns.TITLE,Browser.BookmarkColumns.URL }; Uri uriCustom = Uri.parse("content://com.android.chrome.browser/bookmarks"); String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, 1 = bookmark Cursor mCur = getContentResolver().
2 2024-02-13
编程技术问答社区
安卓系统获取浏览器地址
是否有一种方法可以从用户试图使用某些侦听器或其他内容打开的浏览器中获取地址?如果地址在数据库中并且禁止地址,请停止将该地址加载到用户的浏览器中? 解决方案 Android是Linux操作系统的味道,您想做的实质是创建防火墙.为了允许在Linux中创建防火墙, netfilter 提供: NetFilter是Linux内核内部的一组挂钩,允许内核模块在网络堆栈中注册回调功能 但是,要提供一个更简单的接口来创建防火墙Linux口味通常实现 iptables (实质上是另一个在NetFilter的顶部). iptables是Linux内核防火墙(以不同的NetFilter模块实现)及其存储的链条和规则提供的表.目前,不同的内核模块和程序用于不同的协议; iptables适用于IPv4,IP6Tables至ipv6,artpables to arp,以及以太网帧的eBtable. 在Linux中,您本质上创建了可实现的链,以允许访问网站以及块传入连接. 但是
0 2024-02-13
编程技术问答社区
如何在安卓6.0(API 23)中继续使用浏览器书签变化
在我的应用中,我一直在使用其中一些功能,这些功能在使用Android 6.0(buildToolsVersion "23.0.1")时,这些功能是:Browser.getAllVisitedUrls(getContentResolver());,BookmarkColumns.URL,等等. 如何使用Android 6.0进行相同的功能. 在 android 6.0 ,我看到以下内容: 此版本消除了对全球书签的支持. android.provider.browser.getAllBookmarks()和android.provider.browser.savebookmark()方法现在已删除.同样,read_history_bookmarks和write_history_bookmarks权限也会被删除.如果您的应用程序针对Android 6.0(API级别23)或更高,则请勿访问全球提供商的书签或使用书签权限.相反,您的应用程序应在内部存储书签数据. 这到底是什么
4 2024-02-12
编程技术问答社区
如何在Android Marshmallow(API>=23)中获取Chrome历史记录和书签?
直到API级22(即直到Lollipop),有一种方法可以阅读Chrome App中的历史和书签(如现在,在Android api = 23棉花糖中,由于整个浏览器书签系统已在棉花糖中删除(在此处更改),上述方法不再起作用. 这是线程表明了为什么不再可能. 到目前为止,在我的研究中,我还没有找到好消息. Google肯定杀死了系统书签功能(在这里&在这里)浏览器会以任何方式公开它? 是否有一种替代/方法可以在Android Marshmallow中读取Chrome的书签和历史(甚至可以回答此问题)? 解决方案 与引用的文档相反,com.android.browser.permission.READ_HISTORY_BOOKMARKS仍由框架定义,并且仍然可以通过应用程序获得.不幸的是,在棉花糖和后来,Chrome检查了其他许可,该许可不允许使用常规应用程序.出于兼容原因,当该权限检查不可避免地失败时,Chrome返回零行而不是投掷SecurityExceptio
使用安卓4浏览器自动启动html5视频
我想使用Android 4冰淇淋三明治浏览器自动启动Android HTML5视频.我尝试了许多HTML5视频的Java-Script功能和自动播放器自动播放标签.但是什么都没有.我通过Android应用在WebView中启动Android Chrome客户端,该客户端应该能够自动启动视频.单击播放按钮视频播放而不是自动播放时. 它在Android中受到限制吗? 要注意的另一件事是,即使我们单击"播放"按钮和视频正在播放和完成时,也不会以染色体调用回电方法. 我在Android 4上没有谷歌搜索,并且在Android 4. 上没有发现积极的结果 解决方案 似乎Android 4+更改了play()方法的要求,以需要用户交互.如果您从用户事件处理程序(例如touchstart或mousedown)触发play(),那么只要您在同一事件循环中运行视频,就可以播放视频. 这意味着您不应该使用异步触发器来调用play(),而是在没有setTimeout()等的同一事件处理
安卓浏览器渲染边界半径不正确,边界较大
我在Android Webkit浏览器上遇到了问题.这是在Android 4.0.3及更早的时候发生的.该设计要求在DIV内进行15像素顶边框,然后在圆角.我正在使用Border-Radius来完成此操作,这在所有现代浏览器中都可以正常工作,但是在Android上看起来像这样: HTML看起来像这样: Headline .... Nam condimentum viverra nulla sed pulvinar nisl posu .... CSS看起来像
2 2024-02-11
编程技术问答社区
安卓浏览器渲染边界半径不正确,边界较大
我在Android Webkit浏览器上遇到了问题.这是在Android 4.0.3及更早的时候发生的.该设计要求在DIV内进行15像素顶边框,然后在圆角.我正在使用Border-Radius来完成此操作,这在所有现代浏览器中都可以正常工作,但是在Android上看起来像这样: HTML看起来像这样: Headline .... Nam condimentum viverra nulla sed pulvinar nisl posu .... CSS看起来像
2 2024-02-11
编程技术问答社区
如何在默认浏览器中打开外部URL,并在WebView Android中打开所有内部链接?
我在我的页面中使用WebView,并使用本地文件assets在WebView中显示,但是在主HTML页面外部网站(不是本地)中,我想在用户上默认浏览器中的链接打开该链接设备 这是我在" ongreate"方法中的代码 WebView v; v=(WebView) rootView.findViewById(R.id.webView1); v.getSettings().setJavaScriptEnabled(true); WebViewClient vc= new WebViewClient(); v.setWebViewClient(vc); v.loadUrl("file:///android_asset/home.html"); 运行应用程序时,内部链接工作正常,但是在Web视图中的外部链接" www.apple.com" en 我搜索了相同的问题并找到了这个解决方案,但仍在WebView中打开外部链接 WebView webView = (WebV
0 2024-02-10
编程技术问答社区
在Marshmallow和Nougat Android中读取浏览器历史记录
我正在尝试在Android Marshmallow中使用Android浏览器.在Lollipop之前,有一种方法可以使用许可从Chrome浏览器中阅读历史记录.但是在棉花糖中,许可被删除.是否有其他可用于在棉花糖设备上读取浏览器历史记录的替代方案? 我推荐文档,但没有一个清晰的想法. 谢谢. 解决方案 由于安全原因,浏览器历史记录现在无法访问应用程序.此步骤是Google在API >= 23之后采取的. query()调用hasReadAccess(),hasPermission("com.android.browser.permission.READ_HISTORY_BOOKMARKS") hasPermission("com.android.browser.permission.READ_HISTORY_BOOKMARKS") API >= M忽略权限参数,而是检查 com.androme.chrome.chrome.permission.permissio
0 2024-02-09
编程技术问答社区