私は1つのwebviewでXamarin Androidアプリを持っています。私はそのwebviewのローカルフォルダからPDFを表示したいと思います。Xamarin:Android WebViewにローカルPDFが表示されない
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
<WebView
android:id="@+id/pdfContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
そして、ここが私の活動のコードです:
[Activity(Label = "ViewPdfActivity", ParentActivity = typeof(IssueDetailsActivity))]
public class ViewPdfActivity : Activity
{
private WebView pdfContainer;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.ViewPdf);
this.pdfContainer = this.FindViewById<WebView>(Resource.Id.pdfContainer);
this.pdfContainer.SetBackgroundColor(Color.Black);
this.pdfContainer.SetWebChromeClient(new WebChromeClient());
var toolbar = this.FindViewById<Toolbar>(Resource.Id.toolbar);
this.SetActionBar(toolbar);
this.ActionBar.SetDisplayHomeAsUpEnabled(true);
var pdfUrl = Intent.GetStringExtra("PdfUrl");
this.LoadPdf(pdfUrl);
}
private void LoadPdf(string pdfUrl)
{
var file = $"file://{System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)}/{pdfUrl}";
this.pdfContainer.LoadUrl(file);
this.pdfContainer.SetWebChromeClient(new WebChromeClient());
}
}
私は、コードを実行すると、私は空のページを参照してくださいここで
は私のレイアウトファイルです。
05-02 19:47:56.104 E/libEGL(4263):validate_display:99エラー3008(EGL_BAD_DISPLAYコンソールデバッグ出力は、私は本当にこの特定の事に関連することはできませんが、何かことnonthelessことができるといくつかの情報を示しています) 05-02 19:47:56.172 W/VideoCapabilities(4263):ビデオ/ avcのための未知のプロファイル2130706433 05-02 19:47:56.276 I/VideoCapabilities(4263):サポートされていないプロファイル4 for video/mp4v-es
Androidのドキュメントに示唆されているように、私はインターネットの許可を追加しました。
はい、ファイルが存在します。私はFile.Existsを実行する前にこのアクティビティにナビゲートし、ダウンロードされているかどうかを確認します。
WebViewはpdfをサポートしていません。 – greenapps