printing - How to take printout from android app? -


hi in application want take printout webview page i.e html page.can tell me did mistake.my problem code running in emultor not in other devices.

mainactivity.java:

package com.example.print1;  import android.os.build; import android.os.bundle; import android.annotation.suppresslint; import android.annotation.targetapi; import android.app.activity;  import android.webkit.webview; import android.webkit.webviewclient; import android.print.printattributes; import android.print.printdocumentadapter; import android.print.printmanager; import android.content.context;  @suppresslint("newapi") public class mainactivity extends activity {      private webview mywebview;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.web_print);              webview webview = new webview(this);             webview.setwebviewclient(new webviewclient() {                 public boolean shouldoverrideurlloading(webview view,                                string url)             {                     return false;                     }                 @override                public void onpagefinished(webview view, string url) {                     createwebprintjob(view);                     mywebview = null;                 }         });          string htmldocument =                     "<html><body><h1>android print test</h1><p>"                  + "this sample content.</p></body></html>";          webview.loaddatawithbaseurl(null, htmldocument,                     "text/html", "utf-8", null);          mywebview = webview;     }     @targetapi(19)     @suppresslint("newapi")     private void createwebprintjob(webview webview) {          printmanager printmanager = (printmanager) this.getsystemservice(context.print_service);          printdocumentadapter printadapter = webview.createprintdocumentadapter();          string jobname = getstring(r.string.app_name) + " print test";          printmanager.print(jobname, printadapter,new printattributes.builder().build());     } } 

webprintactivity.java

package com.example.print1; import android.os.bundle; import android.print.printattributes; import android.print.printdocumentadapter; import android.print.printmanager; import android.app.activity; import android.content.context; import android.view.menu; import android.view.menuitem; import android.webkit.webview;  public class webprintactivity extends activity {      private webview mywebview;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          mywebview = (webview) findviewbyid(r.id.webview1);          mywebview.loadurl("http://developer.android.com/google/index.html");     }     @override     public boolean onoptionsitemselected(menuitem item) {         switch (item.getitemid()) {                case r.id.action_print:                 createwebprintjob(mywebview);                 return true;             default:                 return super.onoptionsitemselected(item);         }     }     private void createwebprintjob(webview webview) {          printmanager printmanager = (printmanager)               .getsystemservice(context.print_service);          printdocumentadapter printadapter =                   webview.createprintdocumentadapter();          string jobname = getstring(r.string.app_name) +                              " print test";          printmanager.print(jobname, printadapter,                new printattributes.builder().build());     } } 

the above code running in emulator there no wifi in emultor ,if same code runs in android device means shows error , doesnt show proper output want take printout android. thanks.

printing framework works api level 19 , above (android kitkat).

 private void createwebprintjob(webview webview) {   if(build.version.sdk_int >= build.version_codes.kitkat)  {          printmanager printmanager = (printmanager) this.getsystemservice(context.print_service);          printdocumentadapter printadapter = webview.createprintdocumentadapter();          string jobname = getstring(r.string.app_name) + " print test";          printmanager.print(jobname, printadapter,new printattributes.builder().build());  }     } 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -