本文主要介绍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删除后,突然发现没图标了,一直以为是新加功能造成的。。。
相关推荐
可以实现service后台运行,自启动,隐藏安装图标,相当简单易懂,studio直接导就行
Android开发,获取当前手机安装的所有应用、根据包名获取应用信息、获取当前应用程序的包名、获取程序 图标、获取程序的版本号、获取程序的名字、获取程序的权限、获取程序的签名、获取当前包名的 SHA1、将获取到得...
列表显示,获取手机上已安装apk的图标名称等信息,并提供打开相应文件需要的程序过滤工具类
android多个图标显示在桌面上,可以用于进入不同的activity,达到不同的安装效果.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
安装与卸载android模拟器上的软件,同时消除其图标 解法方法: 首先你的PC上需安装了android模拟器 安装apk文件 第一:把下载的apk文件放到android sdk的安装目录的子目录tools下,如我的是:E:android-sdk-...
利用自定义Adapter,将手机中所有程序的信息(图标、版本号等)显示在listview中
在res/drawable-hdpi或res/drawable-ldpi或res/drawable-mdpi目录下,加下你要显示的图片,最好后缀是为.png的,然后修改AndroidManifest.xml文件,里面有这样一行代码<application android:icon="@drawable/icon" ...
如果你的手机使用的是原生的或者没有集成程序安装器的ROM那么你需要去Market中下载一款名为App Installer(其实就是软件安装器)的软件。在Market中下载安装完成后,在程序菜单中就可以找到刚安装的App Installer了...
gridview 加载非系统程序图标 可启动程序 及安装卸载
android如何添加桌面图标和卸载程序后自动删除桌面图标,这是一个应用的安装与卸载过程对桌面图标的操作,下面与大家分享下具体是如何实现的,感兴趣的朋友可以参考下哈
第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 4.1 用户界面开发详解 4.1.1 用户...
NULL 博文链接:https://mypyg.iteye.com/blog/966202
用一个ListView列表,显示Android系统中安装的应用程序信息 (包括本程序的图标,程序名,和版本号,并且非系统应用程序要在列表的右侧添加“卸载按钮”), 且点击按钮可提供卸载。 用另一个ListView显示系统应用...
ANDROID 的推出后可能影响的产业包括移动电信业,软件开发业,手机制造业,在以消费者为核心的状 态 。 对消费者的影响 � 高档手机选择面增加。 � A ndroid 在设计初期就考虑了与现其有业务的融合,改变以往从...
可以实现service后台运行,自启动,隐藏安装图标,相当简单易懂,studio直接导就行.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
8.14 远程下载安装android程序 560 8.15 手机下载看3gp影片 566 8.16 访问网站login api 573 8.17 地震速报 578 8.18 通过web api动态更改手机spinner控件 587 8.19 网络语音搜索 590 8.20 网络...
第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 4.1 用户界面开发...
if((getIntent().getFlags...以上所述是小编给大家介绍的 Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言
第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 4.1 用户界面开发详解 4.1.1 用户...
第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 4.1 用户界面开发...