我可以部署我的应用程序但由于某种原因,我无法在操作系统主页的上拉菜单中显示图标。有谁知道我能做些什么来解决这个问题?
顺便说一下,应用程序显示在“管理应用程序”中,但由于某种原因不会显示为图标。通过Eclipse,我可以在部署后启动应用程序,但就是这样......之后,我没有办法启动它,因为没有图标。 :(以下是我的清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.ApplicationName"
android:versionCode="1"
android:versionName="2.0">
<application android:icon="@drawable/icon"
android:debuggable="true"
android:label="@string/app_name">
<activity android:name=".EntrySplash"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:scheme="com.android.ApplicationName"></data>
</intent-filter>
</activity>
<activity android:name=".EntryScreen" android:label="@string/app_name">
</activity>
<activity android:name=".ApplicationName" android:label="@string/app_name">
</activity>
</application>
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
我也遇到了这个问题,我认为对我有用的修复方法是我将意图标记分开,如下所示
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:scheme="com.android.ApplicationName"></data>
</intent-filter>
当我改变我的清单文件时,我的图标出现了。
有这个相同的问题,并发现一个警告是在主活动标签上的这个正确的意图:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
必须在自己的意图过滤器。您可能在主活动的intent过滤器中有其他项目,如果是这样,请将其余部分分开到其下方的单独的intent过滤器标记中。把MAIN和LAUNCHER放在一起。
很多关于这个问题的答案似乎都错过了这一点。
希望能帮助到你!
好吧,它正在发生,因为你给你的启动活动提供了两个类别的名称。您启动的活动在其Intent过滤器中应该只有一个类别名称。但是,如果您还需要Browsable活动,那么您的启动活动可能有2个Intent过滤器,如下所示。
您只需使用Manifest.xml文件中的以下代码替换EntrySplash活动代码。
<activity android:name=".EntrySplash"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:scheme="com.android.ApplicationName"></data>
</intent-filter>
</activity>
这肯定会对你有用......
试着摆脱你的 android.intent.category.BROWSABLE
和 <data android:scheme="com.android.ApplicationName">
暂时,看看你的图标是否显示。
另外,在一个不相关的问题上,我建议你的uses- *元素是清单的第一个孩子,而不是最后一个。有传闻说Android市场完成了XML解析问题,它希望在任何元素之前看到这些问题。
SDK v2.2中仍存在此问题。如果您想从Eclipse发布到手机,除了上述建议之外还有一些建议。如果它仍然不起作用并且您不想手动发布,请尝试这些。删除清单中的所有空行。并确保此行只包含图标和标签属性:
<application android:icon="@drawable/icon" android:label="@string/app_name">
显然我发现如果我使用命令行adb手动安装应用程序它是有效的。因此,如果您更新了ADT插件并遇到问题,只需手动安装即可...
我发现当我将它们添加到我的项目时,有时我的资产不会在应用程序中更新。
有两种方法可以解决此问题:
- 清理并重建项目。
- 在手机上卸载应用程序,然后使用ADT从头开始安装。
就那么简单!
只是为了向CommonsWare的回答添加确认,我刚刚发现了针对2.3.3+项目的确切错误。我不得不删除以下内容:
<data android:scheme="com.android.ApplicationName"></data>
然后我不得不清理项目。我认为必须每次都使用adb进行安装,这是Manifest出现问题的一个迹象,并且稍后会回来咬你(特别是在市场上)。