标签: android-browser

如何为Android创建浏览器?

亲爱的,我是bca的学生.我必须在上个学期做一个项目.所以我决定创建在android OS上运行的网络浏览器,但我完全是为了这个应用程序.所以,任何人都可以帮助我.我已经安装了所有必需的工具,如jdk,android sdk 3.0,eclipse.但现在我不知道从哪里开始开发浏览器.所以请帮助我......我只有2个月的时间来做这个项目.这可能在2个月内完成吗?

android android-browser

7
推荐指数
2
解决办法
3万
查看次数

谷歌分析干扰Android浏览器中的history.back()?

我有一个html5移动应用程序,其中一切都存在于一个页面上,我使用history.back/popstate/etc来更改页面的内容(通过jQuery Mobile).我正在使用Google Analytics跟踪各种事件,并在一个页面上跟踪用户是否通过特定按钮退出:

$('#my-back-button').bind('tap', function() {
    _gaq.push(['_trackEvent', 'mycategory', 'myaction']);
    history.back();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

在android 2.2浏览器中,调用了history.back()但是没有触发onpopstate并且页面没有被更改.如果我放在window.onpopstate = function() { alert("!"); };history.back()之前,我看不到警报.

如果我反转两行(history.back()首先,然后_gaq.push),它似乎工作,但我不能依赖于我的代码中的这种排序.

没有例外被抛出.它在iOS和桌面Chrome中运行良好.

任何想法为什么history.back()在谷歌分析调用后不起作用?

javascript html5 android google-analytics android-browser

7
推荐指数
1
解决办法
1002
查看次数

为什么android浏览器视口比手机的实际屏幕尺寸小得多,即使使用width = device-width?

我想问一下为什么我的HTC Desire HD的浏览器会报告视口的宽度为369px,即使屏幕的实际像素大小为480x800 WVGA.

我在我的页面中使用这个CSS样式:

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
Run Code Online (Sandbox Code Playgroud)

你能解释一下这个奇怪的行为,以及如何强制Android浏览器实际将视口的宽度设置为480px而不是奇怪的369px?

感谢您的任何帮助.

mobile android css3 android-browser

7
推荐指数
1
解决办法
6508
查看次数

画布渲染性能

我正在修改Jump'n'Bump游戏的HTML5端口,以便在Apple和基于Android的移动设备上运行.我使用廉价的1 GHz Cortex-A8 Android 4.0.3平板电脑进行测试.我在系统的浏览器中遇到了奇怪的行为.我通常得到一个约1 FPS的非常低的帧速率(每帧重新绘制整个屏幕,使用setTimeout ......).但是,当我在<canvas>标签之前添加一个具有位置:固定CSS属性的<div>时,帧速率突然增加,游戏变得可玩.

有人可以解释这个奇怪的现象吗?Android浏览器中是否存在一些影响画布性能的渲染模式?这是跨平台问题吗?如何确保页面在用户的浏览器中有效运行?

我正在处理的代码大纲:

<!DOCTYPE html>
<html>
<title>Jump'n'Bump - HTML5</title>
<meta http-Equiv="Cache-Control" Content="no-cache">
<meta http-Equiv="Pragma" Content="no-cache">
<meta http-Equiv="Expires" Content="0">
<meta name="viewport" content = "width=400px, user-scaleable=no">

<!-- javascript files included here -->
<script type="text/javascript" src="main.js"></script>

<style type="text/css">
  body { margin: 0px 0px 0xp 0px }
  canvas { border: 0px solid black; }
  img.resource { display:none; }
  #fixed_div { position: fixed; width: 10px; height: 10px; left: 0px; top: 0px; }
  #gameArea { position: absolute; left: 0px; top: …
Run Code Online (Sandbox Code Playgroud)

performance html5 frame-rate canvas android-browser

7
推荐指数
1
解决办法
1310
查看次数

调试Android 2.3浏览器崩溃

最近,我一直试图找到(并希望修复)频繁的Android 2.3浏览器崩溃,这些崩溃会影响SB Nation博客网络.用户将导航到页面,它将显示为加载,然后关于何时您希望DOM完成触发,浏览器似乎强行关闭,您将被踢到主屏幕.这不会发生在每个页面加载,所以如果您打开浏览器并再试一次,它通常会加载正常.

我已经在我自己的手机上多次重现了这个问题,HTC Thunderbolt(2.3.4)以及Droid Bionic(2.3.4).我没有Android开发经验,但我认为连接adb调试器可能会让我对这个问题的原因有所了解.以下是我捕获的崩溃的一些日志:

(我会在生产中发布导致这些崩溃的一些URL,但我已经达到了我的两个链接限制.)

正如您可能注意到的那样,所有HTC日志都不同,而仿生的日志似乎没有提供太多技术细节.这是我在所有HTC日志中找到的唯一常见线程:

 D/skia    (14225): createPlugin (300,150) screen proportion:(w,h)=(0.813008,0.039288), content ratio:2.000000 mainUrl:http://athleticsnation.local:3000/
 D/skia    (14225): createPlugin F10 typical2 video content (300,150)/(369,3818), url=
Run Code Online (Sandbox Code Playgroud)

我的猜测是F10 == Flash 10,但Droid Bionic甚至没有安装Flash,所以我不相信这是原因.

无论如何,我对于导致这些崩溃的理论感到茫然.有没有办法获得有关这些崩溃的更准确信息?无效标记会导致浏览器崩溃吗?JavaScript限制?任何帮助将不胜感激.

debugging android android-browser

7
推荐指数
1
解决办法
1638
查看次数

在Android浏览器中获取当前URL

我正在寻找一种方法来获取用户在Android浏览器应用程序上访问的当前URL.我发现我可以Browser.BOOKMARKS_URI使用以下技术从数据库中获取最后访问过的URL :

Cursor cursor = context.getContentResolver().query(Browser.BOOKMARKS_URI,
        Browser.HISTORY_PROJECTION, null, null,
        Browser.BookmarkColumns.DATE + " DESC");
cursor.moveToNext();
String url = cursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX);
cursor.close();
Run Code Online (Sandbox Code Playgroud)

这样做的问题是,Browser.BOOKMARKS_URI当用户按下以便导航到浏览器中的上一页时,db不会更新,并且查询返回不正确的结果.

请参阅以下示例:

  1. 用户导航到www.google.com - > 查询返回"www.google.com"
  2. 用户导航到www.imdb.com - > 查询返回"www.imdb.com"
  3. 用户按下返回www.google.com - > 查询返回"www.imdb.com"(!!)

有没有人知道如何返回用户正在查看的正确网址?

java url android browser-history android-browser

7
推荐指数
1
解决办法
3648
查看次数

什么是在Android本机浏览器上Blob和Blobbuilder或Blobbuilder的问题之间的区别

问题与BlobBuilder和新的Blob构造函数之间的区别有什么不重复

我在做网络应用程序.要上传我使用的图像Blob,以防万一BlobBuilder.Blob运行良好,但Blob不能在Android本机浏览器,Android本机浏览器使用BlobBuilder.我期待,BlobBlobBuilder返回相同的blob,但他们没有.这是我的代码:

base64toBlob: function(b64Data, contentType, sliceSize) {
  var BlobBuilder, blob, byteArray, byteCharacters, byteNumbers, charCodeFromCharacter, err, posIndex;

  if (contentType == null) {
    contentType = '';
  }
  if (sliceSize == null) {
    sliceSize = 1024;
  }
  posIndex = b64Data.indexOf('base64,');
  if (posIndex !== -1) {
    b64Data = b64Data.substring(posIndex + 7);
  }
  charCodeFromCharacter = function(c) {
    return c.charCodeAt(0);
  };
  byteCharacters = atob(b64Data.replace(/\s/g, ''));
  byteNumbers = …
Run Code Online (Sandbox Code Playgroud)

javascript blob android-browser

7
推荐指数
1
解决办法
1108
查看次数

Android WebView - 滚动条不填充layout_height

我有一个包含大量文本内容的WebView.我正在使用以下WebView设置:

    settings.setJavaScriptEnabled(true);
    settings.setLoadWithOverviewMode(true);
    settings.setUseWideViewPort(true);
    settings.setSupportZoom(false);
    settings.setBuiltInZoomControls(false);
    webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    webview.setScrollbarFadingEnabled(false);
Run Code Online (Sandbox Code Playgroud)

Html视口设置为:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
Run Code Online (Sandbox Code Playgroud)

问题是滚动条在布局​​之外,如下所示:

我的Android布局是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?android:attr/actionBarSize"
        android:background="@color/colorPrimary"
        android:elevation="4dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

    <LinearLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <WebView
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />


    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android webview android-webview android-browser android-websettings

7
推荐指数
1
解决办法
296
查看次数

在没有视口的情况下禁用Android网络浏览器上的双击缩放

我想在Android浏览器的网页上禁用双选项卡缩放.我尝试防止触摸开始和touchmove默认,取消bubble/propogarion.甚至尝试了jquery mobile doubletap事件,但它在元素缩放后触发.

javascript-events android-browser

6
推荐指数
1
解决办法
8128
查看次数

Android Cookies(邀请奖励)

我正在尝试整合"奖励邀请"逻辑.我想为此做的是为每个用户生成一个独特的URl.当朋友点击该URL时,他将被定向到一个页面,然后被定向到该Playstore.在页面上,具有唯一ID的cookie存储在设备上.

注 - (用户可以在任何浏览器中打开链接)

当设备上的应用程序启动时,我会获取使用上面保存的cookie,如果可用,则将其发送到服务器,用户可以轻松识别并获得奖励.

这看起来很直接,但是我被困在我必须阅读cookie并提取id的位置.

我读到说不可能.:(我也试过以下

List<Cookie> cookies = new DefaultHttpClient().getCookieStore()
            .getCookies();
    if (cookies.isEmpty()) {
        System.out.println("None Cookies");
    } else {
        for (int i = 0; i < cookies.size(); i++) {
            System.out.println("Cookie - " + cookies.get(i).toString());
        }
    }
Run Code Online (Sandbox Code Playgroud)

但没有运气.我一直收到"无饼干".

我的问题:

  1. 是否可以读取创建的cookie?如果有,怎么样?
  2. 如果没有,关于如何实现上述功能的任何替代方案?

谢谢你的光临.

cookies android google-chrome android-browser

6
推荐指数
1
解决办法
276
查看次数