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