应用程序图标未显示在设备上的程序列表中

时间:2012-02-12 17:30:31

标签: android android-intent intentfilter

我正在开发一个Android应用程序,并且在我的HTC Incredible 2上运行它时没有遇到任何问题。但是,该图标不会显示在我的程序列表中。我只能从最近的应用程序和已安装的应用程序列表中找到它(它显示在Downloaded下)。有什么建议?这是我的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxxx.xxxxx" android:versionCode="1"
android:versionName="1.0">

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" android:debuggable="true">
    <activity android:name=".XxxXxxDroidActivity"
        android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.intent.action.MEDIA_MOUNTED" />
            <data android:scheme="file" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".FileManagerActivity"
        android:theme="@android:style/Theme.Black.NoTitleBar"></activity>
</application>

解决此问题的任何建议总是涉及<intent-filter>行的存在,但Eclipse会自动添加它们,它们对我来说没有任何区别。

2 个答案:

答案 0 :(得分:7)

有同样的问题,发现有一点需要注意的是主要活动标签的正确意图:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

必须在自己的意图过滤器中。您可能在主活动的意图过滤器中有其他项目,如果是这样,请将其余项目分开到其下方的单独的intent过滤器标记中。将MAIN和LAUNCHER放在一起。

很多关于这个问题的答案似乎都错过了这一点。

希望它有所帮助!

答案 1 :(得分:6)

在您的清单中,对于课程XxxXxxDroidActivity添加另一个intent-filter

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>