我知道之前已经问过这个问题,但是在所有这些问题中,答案是从onCreate活动方法设置它。 我不想在我的onCreate方法中这样做,所以我这样做了我的清单文件,但无济于事: -
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher_screen"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light"
>
<activity
android:name="com.iws.unify.HomeScreen"
android:label="@string/nullstring"
android:icon="@drawable/ic_launcher"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
出于某种原因,我在活动中设置的任何图标/标签都会覆盖应用程序标签中那些令人讨厌的图标/标签。请帮忙。
答案 0 :(得分:14)
如果您只需要一个与应用程序图标不同的活动操作栏图标,则可以使用“android:logo”属性覆盖它:
<activity
android:name="com.iws.unify.HomeScreen"
android:label="@string/nullstring"
android:logo="@drawable/ic_launcher">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 1 :(得分:4)
我有同样的问题,我使用非常奇怪但简单的解决方案解决了。
1-创建一个新活动并将其命名为LauncherActivity
。(将此活动的图标和标签设置为您希望显示为应用程序图标/标签的内容)
2-将此活动设为主要&amp;您应用的启动器活动。(从您的HomeScreen活动中删除<intent-filter>
标记)
3-将此活动的主题设置为android:theme="@android:style/Theme.Translucent"
4-现在在你的LauncherActivity
onCreate()
中,只要使用意图启动HomeScreen活动并完成此活动,就不要做任何事情。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent(this, HomeScreen.class);
startActivity(intent);
finish();
}
完成()是必需的,因此当您按下HomeScreen中的后退按钮时,应用程序将关闭。
现在,您的应用图标和标签将与您的HomeScreen图标和标签不同
你的清单应该是这样的:
<application
android:allowBackup="true"
android:theme="@android:style/Theme.Holo.Light"
>
<activity
android:name="com.iws.unify.HomeScreen"
android:label="@string/nullstring"
android:icon="@drawable/ic_launcher"
>
</activity>
<activity
android:name="com.iws.unify.LauncherActivity"
android:icon="@drawable/ic_launcher_screen"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 2 :(得分:1)
答案:
删除android活动中的图标。
额外信息:
android运行时将考虑活动启动器的主要活动。
例如: 如果您在两个活动“a”和“b”中声明以下代码:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
然后你的应用程序将有两个启动器图标“a”和“b”。
答案 3 :(得分:0)
您还可以使用“activity-alias”:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light">
<activity
android:name="com.iws.unify.HomeScreen"
android:label="@string/nullstring"
android:exported="true" />
<activity-alias
android:name=".LaucherActivityAlias"
android:targetActivity="com.iws.unity.HomeScreen"
android:icon="@drawable/ic_launcher_screen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
</application>
您的“playstore”图标将是应用程序节点中指定的图标,因此您也可以在需要时执行此操作:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher_screen"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light">
<activity
android:name="com.iws.unify.HomeScreen"
android:label="@string/nullstring"
android:icon="@drawable/ic_launcher"
android:exported="true" />
<activity-alias
android:name=".LaucherActivityAlias"
android:targetActivity="com.iws.unity.HomeScreen"
android:icon="@drawable/ic_launcher_screen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
</application>