2015-04-12 24 views
11

Tôi có một ứng dụng webiew trên Android tải một số trang web nhưng không phải là trang web tôi cần đến.Android webview sẽ không tải URL của tôi nhưng sẽ tải những người khác

Tôi không biết đây có phải là vấn đề với máy chủ lưu trữ trang web hay điều gì đó mà tôi có thể thực hiện trong ứng dụng của mình hay không. Về cơ bản tôi có một danh mục đầu tư trực tuyến mà tôi đang làm cho trường đại học và tôi muốn làm cho bản thân mình trông đẹp hơn bằng cách xây dựng nó thành một ứng dụng. Trang web danh mục đầu tư bao gồm phiên bản dành cho thiết bị di động nên phiên bản này đã được thiết lập và hoạt động tốt trong trình duyệt chrome trên điện thoại của tôi.

Nó được sử dụng để làm việc với một trang web cũ và nó tải google vì vậy tôi biết tôi có quyền internet. Không chắc chắn nếu nó là một cái gì đó để làm với trang web mới của tôi hoặc tôi chỉ cần thay đổi một cái gì đó để làm cho nó hoạt động.

Trong trình duyệt Chrome, có vẻ như hiện tại không tốt vì tôi muốn thực hiện việc này trước khi tôi thêm nội dung vào đó. This is how it looks. (Không thể gửi ảnh chụp màn hình trực tiếp như tôi không có đủ đại diện, xin lỗi)

Dưới đây là mã ứng dụng chính của tôi:

package com.broadbentstudios; 

import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import com.parse.ParseAnalytics; 

@SuppressLint("SetJavaScriptEnabled") 
public class ParseStarterProjectActivity extends Activity { 

    WebView webView; 
    /** Called when the activity is first created. */ 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     webView = (WebView) findViewById(R.id.mainWebView); 
     webView.setBackgroundColor(0x00000000); 
     webView.setHorizontalScrollBarEnabled(false); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.getSettings().setUseWideViewPort(true); 
     webView.loadUrl("http://www.broadbentstudios.com/"); 

     webView.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) 
      { 
       view.loadUrl(url); 
       return true; 
      }     
     }); 
    } 

    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if ((keyCode == KeyEvent.KEYCODE_BACK) && webView!=null && webView.canGoBack()) { 
      webView.goBack(); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    }   
    { 
     ParseAnalytics.trackAppOpenedInBackground(getIntent()); 
    }  
} 

Ảnh chụp màn hình của trang web của tôi khi sử dụng ứng dụng của tôi with the code above.

Đây là logcat.

04-12 18:51:45.686: D/PowerManagerService(1196): acquireWakeLockInternal: lock=903227323, flags=0x1, tag="LocationManagerService", ws=WorkSource{1000 com.qualcomm.location}, uid=1000, pid=1196 
04-12 18:51:45.686: D/PowerManagerService(1196): acquireWakeLockInternal: lock=662236910, flags=0x1, tag="LocationManagerService", ws=WorkSource{10013 com.google.android.gms}, uid=1000, pid=1196 
04-12 18:51:45.687: D/PowerManagerService(1196): acquireWakeLockInternal: lock=531027438, flags=0x1, tag="LocationManagerService", ws=WorkSource{10013 com.google.android.gms}, uid=1000, pid=1196 
04-12 18:51:45.687: D/PowerManagerService(1196): releaseWakeLockInternal: lock=959227632 [LocationManagerService], flags=0x0 
04-12 18:51:45.687: D/PowerManagerService(1196): releaseWakeLockInternal: lock=546372682 [LocationManagerService], flags=0x0 
04-12 18:51:45.688: D/PowerManagerService(1196): releaseWakeLockInternal: lock=662236910 [LocationManagerService], flags=0x0 
04-12 18:51:45.688: D/PowerManagerService(1196): releaseWakeLockInternal: lock=531027438 [LocationManagerService], flags=0x0 
04-12 18:51:45.689: D/PowerManagerService(1196): releaseWakeLockInternal: lock=197382963 [LocationManagerService], flags=0x0 
04-12 18:51:45.689: D/PowerManagerService(1196): releaseWakeLockInternal: lock=903227323 [LocationManagerService], flags=0x0 
04-12 18:51:45.734: I/LibraryLoader(28664): Time to load native libraries: 34 ms (timestamps 2209-2243) 
04-12 18:51:45.734: I/LibraryLoader(28664): Expected native library version number "",actual native library version number "" 
04-12 18:51:45.747: V/WebViewChromiumFactoryProvider(28664): Binding Chromium to main looper Looper (main, tid 1) {24dd5d0b} 
04-12 18:51:45.747: I/LibraryLoader(28664): Expected native library version number "",actual native library version number "" 
04-12 18:51:45.747: I/chromium(28664): [INFO:library_loader_hooks.cc(108)] Chromium logging enabled: level = 0, default verbosity = 0 
04-12 18:51:45.757: I/BrowserStartupController(28664): Initializing chromium process, singleProcess=true 
04-12 18:51:45.758: W/art(28664): Attempt to remove local handle scope entry from IRT, ignoring 
04-12 18:51:45.768: W/AudioManagerAndroid(28664): Requires BLUETOOTH permission 
04-12 18:51:45.769: W/chromium(28664): [WARNING:resource_bundle.cc(304)] locale_file_path.empty() 
04-12 18:51:45.770: I/chromium(28664): [INFO:aw_browser_main_parts.cc(63)] Load from apk succesful, fd=59 off=45928 len=3221 
04-12 18:51:45.770: I/chromium(28664): [INFO:aw_browser_main_parts.cc(76)] Loading webviewchromium.pak from, fd:60 off:390788 len:1143511 
04-12 18:51:45.775: D/libEGL(28664): loaded /vendor/lib/egl/libEGL_adreno.so 
04-12 18:51:45.776: D/libEGL(28664): loaded /vendor/lib/egl/libGLESv1_CM_adreno.so 
04-12 18:51:45.788: D/libEGL(28664): loaded /vendor/lib/egl/libGLESv2_adreno.so 
04-12 18:51:45.803: I/Adreno-EGL(28664): <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.BF.1.1.1.C2.05.00.00.046.002_msm8974_LA.BF.1.1.1.C2__release_AU() 
04-12 18:51:45.803: I/Adreno-EGL(28664): OpenGL ES Shader Compiler Version: E031.25.03.00 
04-12 18:51:45.803: I/Adreno-EGL(28664): Build Date: 01/06/15 Tue 
04-12 18:51:45.803: I/Adreno-EGL(28664): Local Branch: mybranch6793908 
04-12 18:51:45.803: I/Adreno-EGL(28664): Remote Branch: quic/LA.BF.1.1.1.c2 
04-12 18:51:45.803: I/Adreno-EGL(28664): Local Patches: NONE 
04-12 18:51:45.803: I/Adreno-EGL(28664): Reconstruct Branch: AU_LINUX_ANDROID_LA.BF.1.1.1.C2.05.00.00.046.002 + NOTHING 
04-12 18:51:45.868: W/chromium(28664): [WARNING:data_reduction_proxy_settings.cc(328)] SPDY proxy OFF at startup 
04-12 18:51:45.890: W/art(28664): Attempt to remove local handle scope entry from IRT, ignoring 
04-12 18:51:45.895: W/AwContents(28664): onDetachedFromWindow called when already detached. Ignoring 
04-12 18:51:45.917: E/QCOMSysDaemon(28750): Can't open /dev/block/platform/msm_sdcc.1/by-name/bootselect: (No such file or directory) 
04-12 18:51:45.917: I/QCOMSysDaemon(28750): Starting qcom system daemon 
04-12 18:51:45.917: E/Diag_Lib(28750): Diag_LSM_Init: Failed to open handle to diag driver, error = 2 
04-12 18:51:45.917: E/QCOMSysDaemon(28750): Diag_LSM_Init failed : 0 
04-12 18:51:45.953: D/OpenGLRenderer(28664): Render dirty regions requested: true 
04-12 18:51:45.956: D/Atlas(28664): Validating map... 
04-12 18:51:45.962: E/com.parse.push(28664): successfully subscribed to the broadcast channel. 
04-12 18:51:45.963: D/PowerManagerService(1196): acquireWakeLockInternal: lock=553909931, flags=0x1, tag="Intent { act=com.google.android.c2dm.intent.REGISTRATION flg=0x10 pkg=com.broadbentstudios cmp=com.broadbentstudios/com.parse.GcmBroadcastReceiver (has extras) }", ws=null, uid=10221, pid=28664 
04-12 18:51:45.992: I/OpenGLRenderer(28664): Initialized EGL, version 1.4 
04-12 18:51:45.997: D/OpenGLRenderer(28664): Enabling debug mode 0 
04-12 18:51:46.009: D/PowerManagerService(1196): releaseWakeLockInternal: lock=553909931 [Intent { act=com.google.android.c2dm.intent.REGISTRATION flg=0x10 pkg=com.broadbentstudios cmp=com.broadbentstudios/com.parse.GcmBroadcastReceiver (has extras) }], flags=0x0 
04-12 18:51:46.029: I/Timeline(28664): Timeline: Activity_idle id: [email protected] time:33412539 
04-12 18:51:46.030: D/PowerManagerService(1196): releaseWakeLockInternal: lock=110279535 [ActivityManager-Launch], flags=0x0 
04-12 18:51:46.038: I/ActivityManager(1196): Displayed com.broadbentstudios/.ParseStarterProjectActivity: +864ms 
04-12 18:51:46.038: I/Timeline(1196): Timeline: Activity_windows_visible id: ActivityRecord{3eff1853 u0 com.broadbentstudios/.ParseStarterProjectActivity t1645} time:33412548 
04-12 18:51:46.055: D/ForegroundUtils(4725): Foreground changed, PID: 4813 UID: 10182 foreground: false 
04-12 18:51:46.055: D/ForegroundUtils(4725): Foreground UID/PID combinations: 
04-12 18:51:46.055: D/ForegroundUtils(4725): UID: 10221 PID: 28664 
04-12 18:51:46.386: D/AbstractMetricsFactoryImpl(28721): record : No data points in metrics event 
04-12 18:51:46.637: W/BindingManager(28664): Cannot call determinedVisibility() - never saw a connection for the pid: 28664 
04-12 18:51:47.134: I/chromium(28664): [INFO:CONSOLE(0)] "'webkitIDBRequest' is deprecated. Please use 'IDBRequest' instead.", source: (0) 
04-12 18:51:47.422: I/chromium(28664): [INFO:CONSOLE(1)] "HARD RESET!!", source: http://www.broadbentstudios.com/application/_output/pb.out.front.js?v=7 (1) 
04-12 18:51:47.440: I/chromium(28664): [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot read property 'clear' of null", source: http://www.broadbentstudios.com/application/_output/pb.out.front.js?v=7 (1) 
04-12 18:51:48.338: D/audio_hw_primary(253): out_standby: enter: stream (0xb5801780) usecase(1: low-latency-playback) 

Mọi trợ giúp sẽ tuyệt vời, ngay cả khi tôi biết ứng dụng của tôi hoặc trang web đang gây ra sự cố.

Cảm ơn bạn.

Trả lời

27

Cuối cùng tìm thấy câu trả lời sau rất nhiều tìm kiếm. Đối với bất kỳ ai trong tình huống tương tự, cũng như bật javascript, bạn cũng cần bật bộ nhớ Dom bằng cách thêm vào;

webView.getSettings().setDomStorageEnabled(true); 

Thay đổi webXem mọi thứ bạn gọi và bạn nên làm điều tốt.

Hy vọng điều này sẽ giúp ai đó.

+0

Bạn thưa ngài, đã làm ngày của tôi :) Thx – luQ

+0

@luQ Vui vì tôi có thể giúp, tôi mất nhiều ngày để tìm thấy điều này vì vậy tôi biết nỗi đau haha. –

+0

@LewisBroadbent Cảm ơn người đàn ông .... bạn là một nhà phát triển tốt .... khi bạn hiểu các nhà phát triển khác đau ... đánh giá cao !!! –

0

Trang web của bạn có lỗi JavaScript. Bạn đã thử điều gì đó về lỗi đó trong nhật ký bạn đã chia sẻ chưa?

Uncaught TypeError: Cannot read property 'clear' of null", source: http://www.broadbentstudios.com/application/_output/pb.out.front.js?v=7 (1)

+0

Tôi đã cố gắng disbaling javascript như một longshot nhưng điều đó đã không giúp đỡ và tôi đã không nghĩ rằng nó sẽ. Tôi cũng là một noob lớn ở đây vì vậy tôi không thực sự chắc chắn những gì khác để thử, tôi đã nhìn xung quanh trên internet nhưng mọi người đã chỉ nói để thêm sự cho phép internet mà tôi đã có. Có bất cứ điều gì bạn có thể gợi ý cho tôi thử không? Cảm ơn đã chỉ ra rằng đối với tôi, tôi chủ yếu là mới để đăng nhập quá và đoán tôi bị mất nó. –

+0

Tắt JavaScript sẽ không hoạt động vì trang của bạn có thể đang sử dụng nó để tải nội dung của nó. Bạn cần phải tìm ra nguyên nhân gây ra lỗi JavaScript. Ngoài ra, bạn có đang thử nghiệm trên trình giả lập hoặc trên thiết bị của mình không? Tôi có thể tải http://www.broadbentstudios.com/ trên ứng dụng Chrome chạy Android 5.0.1 có nghĩa là WebView của bất kỳ ứng dụng nào có thể mở nó ít nhất trên Android 5. – Anyonymous2324

+0

Vâng, tôi nghĩ đó là nhưng tôi đã cho nó một đi anyway. Đó là điều khó hiểu, tôi đang chạy nó trên điện thoại thực tế của tôi là 5.0.2 và nó hoạt động tốt trong ứng dụng chrome của tôi. –

0

Gần đây tôi đã tạo ra một kho lưu trữ với một ứng dụng xem web cơ bản cho android với xử lý một số lỗi không có kết nối internet

https://github.com/jgarciabt/SmartWebView

Bạn có thể sao chép nó và bắt đầu ứng dụng của bạn từ nó, có lẽ đó dễ dàng hơn.

+0

Tôi sẽ xem xét cảm ơn bạn. –

+0

Tôi đang viết một số tài liệu về cách thức hoạt động của nó nên nếu bạn không vội vàng, bạn có thể kiểm tra sau) =) – jgarciabt

+0

Cảm ơn, tôi có thể cần phải cài đặt và chạy nó với địa chỉ web của tôi nói Thật không may, SmartWebView đã dừng lại và tôi nhận được rất nhiều lỗi trong logcat haha ​​ –

Các vấn đề liên quan