の外部アプリケーションでローカルPDFを開く現在、WebView HTMLアプリケーションを作成しており、ローカルPDFファイルへのリンク(パスは相対的です)が機能していません。私はそれを外部アプリケーション(WebView内ではない)で開くだけです。私は成功していないこのサイトから複数のPDFの意図を試してみました。AndroidスタジオHTMLドキュメント
私はもともとpublic Boolean launchPDF
上記Override
を持っていたが、私はそれらの多くを持っているとして、私は、これはすべてのPDFファイルのための毛布文にする必要があり
:method does not override or implement method from a supertype
を取得保管。
のAndroidManifest.xml:
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
private WebView myWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myWebView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
myWebView.loadUrl("file:///android_asset/index.html");
}
public boolean launchPDF(WebView view, String url) {
if (urlIsPDF(url)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "application/pdf");
try {
view.getContext().startActivity(intent);
} catch (ActivityNotFoundException e) {
//User does not have pdf viewer installed
}
} else {
myWebView.loadUrl(url);
}
return true;
}
public boolean urlIsPDF(String url) {
return url.endsWith(".pdf");
}
};
「ローカルPDFファイルへの私のリンク」 - これはどういう意味ですか?あなたのHTMLは 'assets /'から来ています。あなたのPDFファイルが 'assets /'にもある場合、あなたはそれらをあなたがしようとしている方法で見ることができません。 – CommonsWare
私は資産フォルダ(私のWebサーバーを複製)のPDFファイルのヒープのフォルダ構造を持っています。これは主にアウトオブサービスにアクセスするため、オフラインにする必要があります。どのように私はそれらをローカルで動作させることができますか? –
私は同じファイルを使用して、サーバー上のフォルダ内のこれらのファイルにアクセスしているためです。私は手動でデバイス上のフォルダにそれらを置くことができますし、フォルダにpdf(* .pdf)のリンクをどのようにリダイレクトするか(例:ダウンロードまたはAppPdfs) –