0
webviewにHTMLが読み込まれており、印刷を開始するためのActionBarメニューボタンがあります。SDKのバージョンがチェックされていても、AndroidのwebviewからローカルHTMLファイルを印刷できません
私はメニューボタンをクリックします。プリンタのダイアログボックスが表示され、印刷されます。しかし、何も起こらない私は、html文書を印刷するために以下を使用しています
public void ShowHtml(){
// Enable Javascript
WebSettings webSettings = statshtml.getSettings();
webSettings.setJavaScriptEnabled(true);
statshtml.getSettings().setLoadWithOverviewMode(true);
statshtml.loadData(str, "text/html; charset=utf-8", "UTF-8");
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_print:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
{
createWebPrintJob(statshtml);
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
private void createWebPrintJob(WebView webView) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT)
return;
// Get a PrintManager instance
PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
// Get a print adapter instance
PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter();
// Create a print job with name and adapter instance
String jobName = getString(R.string.app_name) + " Document";
printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build());
}
私のHTMLを印刷するにはほかに何が必要ですか?私は実際のデバイスギャラクシータブ3とAndroidバージョン4.4.2でアプリをテストしています。私は何か他のものを印刷することができます。
別の方法に変更し、あなたは、HTMLファイルを作成し、WebViewのにそれをロードすることができます。 –