2012-04-18 29 views
0

我正在努力讓Google雲打印進入我的Android應用程序,但我沒有完全得到Uri和MimeTypes,這使我很難找出我要出錯的地方。我想打印一個包含Html/Css/Javascript的字符串數組。這是我目前的代碼:到Uri的網頁?

public void printScore(String[] pages) { 

    Uri docUri = Uri.parse("<html><head><title>Hello</title></head><body>Hello, Printer!</body></html>"); 

//  for(int i = 0; i < pages.length; i++ ) { 
//   docUri = Uri.parse("<html><head><title>Hello</title></head><body>Hello, Printer!</body></html>");  
//  } 

    String docMimeType = "text/html"; 
    String docTitle = "My Web Pages"; 

    Intent printIntent = new Intent(this, PrintDialogActivity.class); 
    printIntent.setDataAndType(docUri, docMimeType); 
    printIntent.putExtra("title", docTitle); 
    startActivity(printIntent); 
} 

這根本不起作用。我收到Google雲打印說'文件丟失'。我哪裏錯了?

+3

我不知道雲打印API,但[URI](http://en.wikipedia.org/wiki/Uniform_resource_identifier)類似於'http:// google.com','file:///sdcard/file.txt','content:// sms/inbox/5'等等。除非你在裏面放入一個Uri作爲字符串,否則'Uri.parse'將不起作用。 Mimetype似乎沒問題。 - 我的猜測是你應該將字符串保存到一個文件中並使用'Uri.fromFile(thefile)'作爲docUri。 – zapl 2012-04-18 18:45:10

+0

這是它的工作原理,你介意發佈這個答案? – 2012-04-18 19:27:03

回答

2

我不知道雲打印API,但URI就像http://google.com,file:///sdcard/file.txt,content://sms/inbox/5等等。

Uri.parse將不起作用(或產生有意義的結果),除非你把Uri作爲字符串放在那裏。 Mimetype似乎沒問題。

我的猜測是,您應該將字符串保存到文件中,並使用Uri.fromFile(thefile)作爲docUri