Здравствуйте, ppl. Я создал одно приложение для Android, используя Android WebView. В URL, который я загрузил в webview, есть параметры печати в каком-то месте. На самом деле я придерживался этого урока . Кто-нибудь может сказать, где я могу реализовать этот метод doWebViewPrint () в моем проекте. если кто-то знает, что лучше сайт учебник означает, пожалуйста, дайте мне знать
Вот моя основная деятельность
public class MainActivity extends AppCompatActivity {
public WebView webView;
public WebView mWebView
ProgressBar progressBar;
ArrayList<PrintJob> printJobs = new ArrayList<PrintJob>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView)findViewById(R.id.web);
progressBar = (ProgressBar)findViewById(R.id.progressBar1);
webView.setWebViewClient(new overload());
setProgressBarVisibility(View.VISIBLE);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favion){
super.onPageStarted(view,url,favion);
setProgressBarVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(final WebView view, String url) {
//hide loading image
findViewById(R.id.imageLoading1).setVisibility(View.GONE);
//hide progressbar
setProgressBarVisibility(View.GONE);
//show webview
findViewById(R.id.web).setVisibility(View.VISIBLE);
// doWebViewPrint();
}
});
webView.loadUrl(url);
webView.loadUrl("javascript:var footer = document.getElementById(\"footer\"); footer.parentNode.removeChild(footer); ");
WebSettings webSettings = webView.getSettings();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
webSettings.setAllowUniversalAccessFromFileURLs(true);
}
webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setLoadWithOverviewMode(true);
}
private void doWebViewPrint() {
// Create a WebView object specifically for printing
WebView webView = new WebView(MainActivity.this);
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
@Override
public void onPageFinished(WebView view, String url) {
Log.i(TAG, "page finished loading " + url);
createWebPrintJob(view);
mWebView = null;
}
});
// Generate an HTML document on the fly:
String htmlDocument = "<html><body><h1>Test Content</h1><p>Testing, " +
"testing, testing...</p></body></html>";
webView.loadDataWithBaseURL(null, htmlDocument, "text/HTML", "UTF-8", null);
// Keep a reference to WebView object until you pass the PrintDocumentAdapter
// to the PrintManager
mWebView = webView;
}
private void createWebPrintJob(WebView webView) {
// Get a PrintManager instance
PrintManager printManager = (PrintManager) MainActivity.this
.getSystemService(Context.PRINT_SERVICE);
String jobName = getString(R.string.app_name) + " Document";
// Get a print adapter instance
PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter(jobName);
// Create a print job with name and adapter instance
PrintJob printJob = printManager.print(jobName, printAdapter,
new PrintAttributes.Builder().build());
printJobs.add(printJob);
}
}