2013-04-26 11 views
5

Próbuję wczytać adres URL w widoku internetowym. Adres URL prowadzi do pliku pdf na stronie internetowej. Chcę wyświetlić ten plik pdf w widoku webowym. Z jakiegoś powodu widzę tylko biały ekran, a plik PDF się nie ładuje.Ładowanie adresu URL z monodroidową wyskakującą przeglądarką internetową

Oto kod:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

using Android.App; 
using Android.Content; 
using Android.OS; 
using Android.Runtime; 
using Android.Views; 
using Android.Widget; 
using Android.Webkit; 

namespace TrackandTrace.Droid 
{ 
    [Activity (Label = "PodActivity")]   
    public class PodActivity : Activity 
    { 
     public string PodUrl { get; set; } 


     protected override void OnCreate (Bundle bundle) 
     { 
      base.OnCreate (bundle); 
      SetContentView (Resource.Layout.PodLayout); 

      var PodWebView = FindViewById<WebView> (Resource.Id.webViewPod); 
      PodUrl = Intent.GetStringExtra ("PodUrlString" ?? "No Pod Data available"); 

      PodWebView.Settings.AllowFileAccess = true; 
      PodWebView.Settings.JavaScriptEnabled = true; 
      PodWebView.Settings.BuiltInZoomControls = true; 
      PodWebView.LoadData (PodUrl); 

      PodWebView.SetWebViewClient (new PodWebViewClient()); 

      // Create your application here 
     } 

     private class PodWebViewClient : WebViewClient 
     { 
      public override bool ShouldOverrideUrlLoading (WebView view, string url) 
      { 
       view.LoadUrl (url); 
       return true; 
      } 
     } 
    } 
} 

Odpowiedz

2

znalazłem sposób, który pasuje do mojego appilication i nadal otwiera pdf w de "Webview" Oto kod:

PodWebView.LoadUrl ("http://docs.google.com/viewer?url=" + PodUrl); 

To nie jest tak płynne, jak w przypadku przeglądarki internetowej IOS, ale w ten sposób będzie można ją otworzyć niezależnie od posiadanego urządzenia.

1

Nie sądzę, że jest możliwe, aby załadować plik PDF wewnątrz WebView. Przynajmniej takie jest wrażenie z lektury innych pytań SO dotyczących tego samego problemu.

Chciałbym osobiście użyć czytnika domyślny PDF zamiast tak:

var intent = new Intent(Intent.ActionView); 
intent.SetDataAndType(uri, "application/pdf"); 
intent.SetFlags(ActivityFlags.ClearTop); 
StartActivity(intent); 
0

trzeba dodać ten link do linku pdf lub po prostu przyklej ten sam kod poniżej

WebView webview = FindViewById<WebView>(Resource.Id.webView1); 
     urlPdf = ("example of url"); 
     WebSettings settings = webview.Settings; 
     settings.JavaScriptEnabled = true; 
     webview.LoadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + urlPdf); 

i ważne jest, aby dodać ten link przed urlPDF „http://drive.google.com/viewerng/viewer?embedded=true&url=

Powiązane problemy