Android PrintManager 获取回调
Android PrintManager get callback
我正在使用 PrintManager 打印网页,我的 activity 如何在打印成功后得到回调?
我正在使用此代码:
// Get a PrintManager instance
PrintManager printManager = (PrintManager) this.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";
PrintJob printJob = printManager.print(jobName, printAdapter,
new PrintAttributes.Builder().build());
// Save the job object for later status checking
//mPrintJobs.add(printJob);
围绕从 webView 收到的 PrintDocumentAdapter
创建一个包装器。然后你可以在 onFinish() 中放一个钩子。
public class PrintDocumentAdapterWrapper extends PrintDocumentAdapter{
private final PrintDocumentAdapter delegate;
public PrintDocumentAdapterWrapper(PrintDocumentAdapter adapter){
super();
this.delegate = adapter;
}
public void onFinish(){
delegate.onFinish();
//insert hook here
}
//override all other methods with a trivial implementation calling to the delegate
}
下面是如何在您的代码中使用它:
// Get a PrintManager instance
PrintManager printManager = (PrintManager) this.getSystemService(Context.PRINT_SERVICE);
// Get a print adapter instance and wrap it in my own adapter
PrintDocumentAdapter printAdapter = new PrintDocumentAdapterWrapper(webView.createPrintDocumentAdapter());
// Create a print job with name and adapter instance
String jobName = getString(R.string.app_name) + " Document";
PrintJob printJob = printManager.print(jobName, printAdapter,
new PrintAttributes.Builder().build());
// Save the job object for later status checking
//mPrintJobs.add(printJob);
我正在使用 PrintManager 打印网页,我的 activity 如何在打印成功后得到回调? 我正在使用此代码:
// Get a PrintManager instance
PrintManager printManager = (PrintManager) this.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";
PrintJob printJob = printManager.print(jobName, printAdapter,
new PrintAttributes.Builder().build());
// Save the job object for later status checking
//mPrintJobs.add(printJob);
围绕从 webView 收到的 PrintDocumentAdapter
创建一个包装器。然后你可以在 onFinish() 中放一个钩子。
public class PrintDocumentAdapterWrapper extends PrintDocumentAdapter{
private final PrintDocumentAdapter delegate;
public PrintDocumentAdapterWrapper(PrintDocumentAdapter adapter){
super();
this.delegate = adapter;
}
public void onFinish(){
delegate.onFinish();
//insert hook here
}
//override all other methods with a trivial implementation calling to the delegate
}
下面是如何在您的代码中使用它:
// Get a PrintManager instance
PrintManager printManager = (PrintManager) this.getSystemService(Context.PRINT_SERVICE);
// Get a print adapter instance and wrap it in my own adapter
PrintDocumentAdapter printAdapter = new PrintDocumentAdapterWrapper(webView.createPrintDocumentAdapter());
// Create a print job with name and adapter instance
String jobName = getString(R.string.app_name) + " Document";
PrintJob printJob = printManager.print(jobName, printAdapter,
new PrintAttributes.Builder().build());
// Save the job object for later status checking
//mPrintJobs.add(printJob);