• android程序安装后图标不显示


    本文主要介绍android应用程序安装后图标不显示的几个可能原因。

     

    自己写的程序突然安装后图标不见了,在应用程序安装中能找到,但是桌面上就是没有图标,启动只能从最近列表中其中。。一般这种情况只会在服务类程序和测试程序中出现,因为不需要图标。

     

    google无果,自己二分调试解决了,并测试了其他网友提供的其他会出错原因,大致总结如下:

    1、AndroidManifest中application元素属性设置问题

    属性设置错误

    <application android:icon="@drawable/icon" android:label="@string/app_name">

    设置图标为icon,而上面的icon资源文件不存在

    解决方法:添加icon资源文件

     

    2、AndroidManifest中 没有activity设置android.intent.category.LAUNCHER category或android.intent.action.MAIN action

    AndroidManifest没有任何activity设置了

    <category android:name="android.intent.category.LAUNCHER" />

    和<action android:name="android.intent.action.MAIN" />

    在运行时候你会发现如下提示信息,表示异步执行

    [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,配置如下

    <activity android:name=".AccountManageActivity">
    	<intent-filter>
    		<action android:name="android.intent.action.MAIN" />
    		<category android:name="android.intent.category.LAUNCHER" />
    		<data android:scheme="aone" android:host="AccountManageActivity" />
    	</intent-filter>
    </activity>

    有网友说这种方式无法启动,但经过自己测试能启动只是不会显示图标而已

    解决方法:分为两个intent-filter,如下

    <activity android:name=".AccountManageActivity">
    	<intent-filter>
    		<action android:name="android.intent.action.MAIN" />
    		<category android:name="android.intent.category.LAUNCHER" />
    	</intent-filter>
    	<intent-filter>
    		<data android:scheme="aone" android:host="AccountManageActivity" />
    	</intent-filter>
    </activity>

    原因为intent-filter表示activity接受怎样的intent,定义在一个intent-filter中的条件必须都满足才能按照该intent-filter启动,否则按照其他intent-filter启动。而以上明显是两类启动方式,所以必须分开。通过这个介绍可以知道其他的action、category、data冲突也有可能导致这个问题

     

    我本地是最后一个原因,调试n久,因为最开始写时没加data,这个时候图标已经创建,加完data之后图标仍然在,只不过是第一个创建好的,所以一直没发现,加了一些新功能原来的apk删除后,突然发现没图标了,一直以为是新加功能造成的。。。

  • 相关阅读:
    HDU 1010 Tempter of the Bone(DFS剪枝)
    HDU 1013 Digital Roots(九余数定理)
    HDU 2680 Choose the best route(反向建图最短路)
    HDU 1596 find the safest road(最短路)
    HDU 2072 单词数
    HDU 3790 最短路径问题 (dijkstra)
    HDU 1018 Big Number
    HDU 1042 N!
    NYOJ 117 求逆序数 (树状数组)
    20.QT文本文件读写
  • 原文地址:https://www.cnblogs.com/firecode/p/2679238.html
Copyright © 2020-2023  润新知