Android: значок установленного приложения не виден в эмуляторе - PullRequest
9 голосов
/ 01 марта 2011

Когда я запускаю код своего приложения, я вижу в консоли следующую запись:

[2011-03-01 10:29:26 - mireader] Uploading mireader.apk onto device 'emulator-5554'
[2011-03-01 10:29:26 - mireader] Installing mireader.apk...
[2011-03-01 10:29:40 - mireader] Success!
[2011-03-01 10:29:41 - mireader] Starting activity com.mireader.reader on device emulator-5554 
[2011-03-01 10:29:44 - mireader] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.mireader/.reader }

Основной графический интерфейс приложения запускается автоматически.Пока здесь нет проблем.Когда я возвращаюсь к списку приложений, там значок моего приложения не виден.Я проверил в настройках-> приложение-> управлять приложением, там я мог видеть свое приложение, и оно также показывает опцию удаления.

В чем проблема?

Ответы [ 3 ]

17 голосов
/ 01 марта 2011

вероятно отсутствует

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

в вашем основном в манифесте

10 голосов
/ 11 июля 2014

У меня была такая же проблема в Android Studio, с API 19 и с системой сборки gradle.Мы потратили пару часов, чтобы понять это, и мы поняли, что если у вас больше библиотек (например, у вас больше тестового приложения в одном проекте), и у вас больше значков запуска в отдельной библиотеке, чем gradle, это не может решить.Вы не получаете никакого сообщения об ошибке, просто вы не видите значок.

  • Поэтому используйте разные имена для иконки запуска или просто удалите ненужное.

(я просто подумал, может, у кого-то возникнет такая же проблема ...)

  • Был и другой сценарий, когда значок исчезал.Когда вы используете <data android:scheme="your-own-uri">

Решение состоит в том, чтобы разделить фильтр намерений.

    <activity
        android:name=".MainActivity"
        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>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="your-own-uri" />
        </intent-filter>
    </activity>
0 голосов
/ 17 августа 2017

Просто для таких нубов, как я, выложите это:

<data android:scheme="file" />
<data android:host="*" />
<data android:pathPattern=".*\\.pdf" />

между тегами фильтра намерений основного действия также вызывает исчезновение значка. Код выше, чтобы открыть файл на основе его расширения. Удалите его, и значок появится снова.

...