標籤:
原文地址:http://trinea.iteye.com/blog/1463296
本文主要介紹Android應用程式安裝後表徵圖不顯示的幾個可能原因。
自己寫的程式突然安裝後表徵圖不見了,在應用程式安裝中能找到,但是案頭上就是沒有表徵圖,啟動只能從最近列表中其中。。一般這種情況只會在服務類程式和測試程式中出現,因為不需要表徵圖。
google無果,自己二分調試解決了,並測試了其他網友提供的其他會出錯原因,大致總結如下:
1、AndroidManifest中application元素屬性設定問題
屬性設定錯誤
設定表徵圖為icon,而上面的icon資源檔不存在
解決方案:添加icon資源檔
2、AndroidManifest中 沒有activity設定android.intent.category.LAUNCHER category或android.intent.action.MAIN action
AndroidManifest沒有任何activity設定了
和
在運行時候你會發現如下提示資訊,表示非同步執行
[2012-03-25 ……] No Launcher activity found!
[2012-03-25 ……] The launch will only sync the application package on the device!
而程式已經安裝在列表中,但並沒有表徵圖而且也沒有將android.intent.action.MAIN屬性的activity執行顯示在螢幕最前端。
解決方案:在主activity中添加這兩個屬性
關於這兩個屬性的意思更多請參考:
3、main intent-filter同時配置了不同種類的action和data,配置如下:
Xml代碼 複製代碼 收藏代碼
有網友說這種方式無法啟動,但經過自己測試能啟動只是不會顯示表徵圖而已
解決方案:分為兩個intent-filter,如下
Xml代碼 複製代碼 收藏代碼
原因為intent-filter表示activity接受怎樣的intent,定義在一個intent-filter中的條件必須都滿足才能按照該intent-filter啟動,否則按照其他intent-filter啟動。而以上明顯是兩類啟動方式,所以必須分開。通過這個介紹可以知道其他的action、category、data衝突也有可能導致這個問題
我本地是最後一個原因,調試n久,因為最開始寫時沒加data,這個時候表徵圖已經建立,加完data之後表徵圖仍然在,只不過是第一個建立好的,所以一直沒發現,加了一些新功能原來的apk刪除後,突然發現沒表徵圖了,一直以為是新加功能造成的。。。
Android程式安裝後應用表徵圖不顯示的問題