title: Printing via Google Cloud Print
body: <p>I am trying to print a .txt file that my application saves via FileWriter.</p>
  
  <p>The file it saves is /sdcard/StudentLatePass.txt</p>
  
  <p>When the print button is clicked, the SD file is saved and then it needs to print. I've been following the <a href="https://developers.google.com/cloud-print/docs/android">google cloud print tutorial</a>.</p>
  
  <pre><code>package com.android.upgrayeddapps.latepass;
  
  
  
  import java.io.File;
  import java.io.FileOutputStream;
  import java.io.OutputStreamWriter;
  
  import android.app.Activity;
  import android.app.AlertDialog;
  import android.content.Context;
  import android.content.Intent;
  import android.net.Uri;
  import android.os.Bundle;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.EditText;
  import android.widget.Button;
  import android.widget.Toast;
  
  
  
  public class StudentActivity extends Activity 
  {
      EditText txtData;
      Button btnPrintTardy;
  
      public void onCreate(Bundle savedInstanceState) 
      {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.student);
  
          //Displays the Custom dialog for student login
          AlertDialog.Builder builder;
          AlertDialog alertDialog;
  
          Context mContext = this;
          LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE) ;
          View layout = inflater.inflate(R.layout.studentlogin, null);
  
          builder = new AlertDialog.Builder(mContext);
          builder.setView(layout);            
  
          alertDialog = builder.create();
          alertDialog.show();
  
          txtData = (EditText) findViewById(R.id.editText1);
  
          btnPrintTardy = (Button) findViewById(R.id.btnPrintTardy);
          btnPrintTardy.setOnClickListener(new OnClickListener() {
  
          public void onClick(View v) {
              // write on SD card file data in the text box
              try {
                  File myFile = new File("/sdcard/StudentLatePass.txt");
                  myFile.createNewFile();
                  FileOutputStream fOut = new FileOutputStream(myFile);
                  OutputStreamWriter myOutWriter = 
                                          new OutputStreamWriter(fOut);
                  myOutWriter.append(txtData.getText());
                  myOutWriter.close();
                  fOut.close();
                  Toast.makeText(getBaseContext(),
                          "Done writing SD 'StudentLatePass.txt'",
                          Toast.LENGTH_SHORT).show();
              } catch (Exception e) {
                  Toast.makeText(getBaseContext(), e.getMessage(),
                          Toast.LENGTH_SHORT).show();
              }
  
  
          }// onClick
          }); // btnWriteSDFile
  
  
          btnPrintTardy.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
              //Print using Google Cloud Print
              Intent printIntent = new Intent(this, PrintDialogActivity.class);
                  printIntent.setDataAndType(docUri, "text/plain");
                  printIntent.putExtra("title", "Student Late Pass");
                  startActivity(printIntent);
  
              }// onClick
      });// btnPrintSDFile
  
  
  
  
      }
  
      // Clear all activities on the top of the stack and deliver the intent to (on top now) MainActivity with a new Intent
      public void onGotoLatePassActiviy(View View)
      {
          Intent intent = new Intent(View.getContext(), LatePassActivity.class);
          intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
          StudentActivity.this.finish();
      }
  }
  </code></pre>
  
  <p>For the life of me I have tried to change the docUri, docMimeType and docTitle to everything under the sun to print this file.</p>
  
  <p>My current modified code is</p>
  
  <pre><code>btnPrintTardy.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
              //Print using Google Cloud Print
              Intent printIntent = new Intent(this, PrintDialogActivity.class);
                  printIntent.setDataAndType(docUri, "text/plain");
                  printIntent.putExtra("title", "Student Late Pass");
                  startActivity(printIntent);
  
              }// onClick
      });// btnPrintSDFile
  </code></pre>
  
  <p>I am still getting red squigglies under the docUri, and when i pass the intent to <a href="http://i.imgur.com/9RBOr.jpg">Print</a></p>