您的位置:首页 > 移动开发 > Android开发

android程序安装后图标不显示

2012-11-17 12:16 543 查看
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="se.jayway.opengl.tutorial"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-sdk android:minSdkVersion="5" android:targetSdkVersion="15" />

    <application android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme">
        <activity
            android:name=".TutorialPartI"
            android:label="@string/auth_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>



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删除后,突然发现没图标了,一直以为是新加功能造成的。。。

已有 0 人发表留言,猛击->>这里<<-参与讨论

ITeye推荐

—软件人才免语言低担保
赴美带薪读研!—


绿色通道: 好文要顶 关注我 收藏该文与我联系



Trinea

关注 - 2

粉丝 - 3

+加关注

1

0

(请您对文章做出评价)

« 博主前一篇:OAuth认证介绍及腾讯微博OAuth认证示例

» 博主后一篇:Android
PopupWindow介绍及实现菜单效果

posted @ 2012-03-26 22:30 Trinea 阅读(1781)
评论(0) 编辑 收藏



刷新评论刷新页面返回顶部
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: