Android程序安装后运用图标不显示

Android程序安装后运用图标不显示

▲点击上方“一个人的零与1”坚持“编程强国”的梦想,不忘初心,一直都在。

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

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

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

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

属性设置毛病

applicationandroid:icon="

drawable/icon"android:label="

string/app_name"

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

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

2、AndroidManifest中没有activity设置UNCHERcategory或INaction

AndroidManifest没有任何activity设置了

categoryandroid:name="UNCHER"/

和actionandroid:name="IN"/

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

[-……]NoLauncheractivityfound!

[-……]Thelaunchwillonlysynctheapplicationpackageonthedevice!

而程序已安装在列表中,但并没有图标而且也没有将IN属性的activity履行显示在屏幕最前端。

解决方法:在主activity中添加这两个属性

关于这两个属性的意思更多请参考:

3、mainintent-filter同时配置了不同种类的action和data,配置以下:

Xml代码

activityandroid:name=".AccountManageActivity"

intent-filter

action

android:name="IN"/

category

android:name="UNCHER"

/

data

android:scheme="aone"

android:host="AccountManageActivity"

/

/intent-filter

/activity

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

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

Xml代码

activity

android:name=".AccountManageActivity"

intent-filter

action

android:name="IN"

/category

android:name="UNCHER"

/

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









































中科白癜风医院
北京中科白癜风医院地址



转载请注明:http://www.xxcyfilter.com/gailian/649.html