Android:已安装的应用程序图标在模拟器中不可见

vns*_*tty 10 android-emulator

当我运行我的应用程序代码时,我可以在控制台中看到以下条目:

[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 }
Run Code Online (Sandbox Code Playgroud)

应用程序的主GUI自动运行.直到这里,没有问题.当我回到应用程序列表时,我的应用程序图标不可见.我检查了settings-> application-> manage application,在那里我可以看到我的应用程序,它也显示了卸载选项.

问题是什么?

Ste*_*tes 18

可能不见了

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

在清单中的主<activity>中


Zol*_*tan 10

我在Android Studio中遇到了同样的问题,API 19和gradle构建系统.我们花了几个小时来解决这个问题,我们意识到,如果你有更多的库(例如你在同一个项目中有更多的测试应用程序)并且你在分离的库中有更多的启动器图标,那么gradle无法解决这个问题.您没有收到任何错误消息,只是您没有看到图标.

  • 因此,为启动器图标使用不同的名称或只删除您不需要的名称.

(我只是想,也许有人会遇到同样的问题...)

  • 当图标消失时,还有另一种情况.当你使用<data android:scheme="your-own-uri">

解决方案是拆分intent-filter.

    <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>
Run Code Online (Sandbox Code Playgroud)