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でアプリをテストしています。私は何か他のものを印刷することができます。

+0

別の方法に変更し、あなたは、HTMLファイルを作成し、WebViewのにそれをロードすることができます。 –

答えて

0
statshtml.loadData(str, "text/html; charset=utf-8", "UTF-8"); 

statshtml.loadData(str, "text/html", null); 
+0

まだ何も起こらない –

関連する問題