代码为 运行 时应用程序图标不可见

App icon not visible when code is run

我使用 android studio 创建了一个 android 应用程序。当我 运行 我的代码在 IDE 上时,它的 运行 在连接的 phone 上是预期的。问题是,它不会在我的 phone 上留下一个图标供下次使用。我将不得不再次从 android 工作室 运行 来使用该应用程序。最初很好,我不知道是什么让图标消失了。该应用程序也存在于设置中。 当我去

Settings->apps

我可以在那里很好地找到我的应用程序。它没有被禁用。我尝试卸载该应用程序并重试。它仍然没有给我图标。 我清除了默认值,强制关闭并尝试了所有可能的方法。没有任何帮助。

请帮忙。

我的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".TwitterLogin"
        android:label="@string/title_activity_twitter_login" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:host="www.chillumapp.com"
                android:pathPrefix="/chillum"
                android:scheme="http" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
    </activity>
    <activity
        android:name=".NextActivity"
        android:label="@string/title_activity_next" >
    </activity>

    <meta-data
        android:name="io.fabric.ApiKey"
        android:value="b1fe9f0c7d80c3c24879d634b199f2d0e474b4ba" />

    <activity
        android:name=".WebViewActivity"
        android:label="@string/title_activity_web_view" >
    </activity>
</application>

</manifest>

您应该为每个可以启动您的应用程序的意图指定一个不同的。因此,一个用于包含您的 url 数据的 BROWSER 类别,另一个用于 LAUNCHER 类别。

来自 App Manifest 指南。

Components advertise their capabilities — the kinds of intents they can respond to — through intent filters. Since the Android system must learn which intents a component can handle before it launches the component, intent filters are specified in the manifest as elements. A component may have any number of filters, each one describing a different capability.

你的代码会变成这样:

    <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:host="www.chillumapp.com"
            android:pathPrefix="/chillum"
            android:scheme="http" />
    </intent-filter>