2012-07-17 78 views
0

我使用此代碼獲取Android應用程序的圖標:顯示的是Android應用程序圖標在瀏覽器

Drawable icon = icon = p.applicationInfo.loadIcon(context.getPackageManager()); 

其中p爲PackageInfo類對象。

我已經實現了一個處理請求和響應客戶端的android服務器。在這裏,當我從我的瀏覽器客戶端發送GET request時,服務器會生成一個html頁面。

問題是,我需要顯示檢索到的Android安裝應用程序圖標的HTML頁面上,我用下面的代碼來做到這一點:

returnHtml += "<tr>"; 
returnHtml += "<td><img src=" + icon +" /></td>"; 
returnHtml += "<td>" + apps[0] + "</td>"; 
returnHtml +="<td>" + apps[1] + "</td>"; 
returnHtml += "<td>" + apps[2] + "</td>"; 
returnHtml +="<td>" + apps[3] + "</td>"; 
returnHtml +="</tr>"; 

基本上,我在這裏產生與相應的應用程序信息錶行和在第一列中顯示各自的應用程序圖標。但它沒有顯示相應的應用程序圖標,而是顯示默認圖標圖像(帶有問號的小圖像)。

「icon」是一個「Android Drawable」類對象。我是否需要將檢索到的圖標轉換爲某種形式,或者我需要先將圖標存儲在某個文件夾中?

由於我的html頁面存儲在assets文件夾中,這是不可寫的,因此我無法在其中存儲圖標圖像。是否有任何解決方案只能直接從可繪製對象顯示圖標圖像?

回答

0

你使用fromHtml嗎? http://developer.android.com/reference/android/text/Html.html#fromHtml(java.lang.String,android.text.Html.ImageGetter,android.text.Html.TagHandler)

有用於Html.ImageGetter一個參數,它允許您解決在src字符串轉換爲可繪製。

+0

我認爲他想設置Drawable to html,而不是HTML字符串Drawable ... – Calvin 2012-07-17 14:29:59

+0

是的,正確的Calvin。 – Hapie 2012-07-17 14:31:23

+0

@noisecapella:不,我不使用fromHtml。正如Calvin所說,我想設置爲可繪製的html。 – Hapie 2012-07-17 14:32:53

相關問題