新手求助下,使用activity-alias桌面出现两个图标

我想使用activity-alias修改安卓桌面默认显示的图片,然后按照如下方法写,会在桌面出现两个图标,请问怎么解决?

<activity-alias
 android:icon="@mipmap/custom_launcher"
 android:name="default"
 android:label="@string/app_name"
 android:targetActivity=".MainActivity"
 android:enabled="true">
 <intent-filter> <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter></activity-alias>
<!--要修改的图标-->
<activity-alias
 android:icon="@mipmap/custom_launcher_round"
 android:name="icon1"
 android:label="@string/app_name"
 android:targetActivity=".MainActivity"
 android:enabled="false">
 <intent-filter> <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter></activity-alias>

完整的代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.myheart">
 <!-- 接触网络限制 -->
 <uses-permission android:name="android.permission.INTERNET" />
 <!-- 拨打电话权限 -->
 <uses-permission android:name="android.permission.CALL_PHONE"/>
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
 <!-- 读取联系人权限 -->
 <uses-permission android:name="android.permission.WRITE_CONTACTS" />
 <uses-permission android:name="android.permission.READ_CONTACTS" />
 <!-- 读取和写入角标的权限 -->
 <uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
 <uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />
 <!-- 往SDCard写入数据权限 -->
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <!-- 读取和写入角标的权限 -->
 <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
 <!--华为手机更新应用桌面角标需要的权限-->
 <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
 <application android:icon="@mipmap/custom_launcher_round"
 android:label="@string/app_name"
 android:allowBackup="true"
 android:roundIcon="@mipmap/custom_launcher_round"
 android:supportsRtl="true"
 android:usesCleartextTraffic="true"
 android:theme="@style/AppTheme"
 >
 <activity android:name=".MainActivity"
 >
 <intent-filter> <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter> </activity>
 <!--name:组件名字-->
 <!--enabled:该组件是否启动--> <!--icon:组件图标--> <!--label:组件标签说明--> <!--targetActivity:组件的类--> <!--默认图标--> <activity-alias
 android:icon="@mipmap/custom_launcher"
 android:name="default"
 android:label="@string/app_name"
 android:targetActivity=".MainActivity"
 android:enabled="true">
 <intent-filter> <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter> </activity-alias> <!--要修改的图标-->
 <activity-alias
 android:icon="@mipmap/custom_launcher_round"
 android:name="icon1"
 android:label="@string/app_name"
 android:targetActivity=".MainActivity"
 android:enabled="false">
 <intent-filter> <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter> </activity-alias>
 <!-- 详情 -->
 <activity android:name=".DetailActivity"></activity>
 <!-- 电话信息 -->
 <activity android:name=".PhoneAddressActivity"></activity>
 <!-- 提醒 -->
 <activity android:name=".MessageActivity"></activity>
 <!-- 提醒 -->
 <activity android:name=".FilmActivity"></activity>
 </application>
</manifest>
阅读 3.2k
1 个回答

把不需要的那个禁用掉。默认每个注册的alias都会单独显示一个图标的可以参考 动态更换应用Icon

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题