android - 使用活动别名不会反映在应用程序图标上
问题描述
尝试使用活动别名为我的应用程序使用多个图标。这是我的清单代码:
<activity
android:name=".splashscreen.SplashScreen"
android:launchMode="singleTask"
android:label="@string/app_name">
<!--<intent-filter>-->
<!--<action android:name="android.intent.action.MAIN" />-->
<!--<category android:name="android.intent.category.LAUNCHER" />-->
<!--</intent-filter>-->
</activity>
<activity-alias
android:name="com.sharesmile.share.splashscreen.SplashScreenmain"
android:targetActivity=".splashscreen.SplashScreen"
android:label="test"
android:icon="@mipmap/ic_launcher"
android:enabled="false"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity-alias
android:name="com.sharesmile.share.splashscreen.SplashScreenpinkathon"
android:targetActivity=".splashscreen.SplashScreen"
android:label="testpinkathon"
android:icon="@mipmap/ic_launcher_pink"
android:enabled="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
这是我在 oncreate 启动画面活动中的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.sharesmile.share", "com.sharesmile.share.splashscreen.SplashScreenpinkathon"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
setContentView(R.layout.activity_splash_screen);
...
}
现在进行测试时,我将com.sharesmile.share.splashscreen.SplashScreenpinkathon更改为com.sharesmile.share.splashscreen.SplashScreenmain它没有反映。似乎是什么问题?
解决方案
答案很简单,我必须为一个别名设置启用并为另一个别名设置禁用。
像这样 :
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.****.8888", "abc.SplashScreenA"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.sharesmile.share", "com.sharesmile.share.splashscreen.SplashScreenmain"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
推荐阅读
- angular - 路线不断被重定向
- python - 机器学习 - 如何从管道中提取特征
- python - 在 pandas DataFrame 中选择具有特定值的列
- r - 在 R 的一个文件夹中的多个 xml 文件上运行循环
- javascript - 如何使用将多个值传递给服务器使用 node.js 标记和访问
- django - Django taggit:为什么 annotate(same_tags=Count('tags')) 计算的是常用标签的数量而不是标签的总数?
- python - Python - Pynput 按键似乎与实际按键不同
- bash - 如何找到名称包含多个相同字符的文件?
- html - 带有 svg 的剪辑路径 - 如何更改剪辑位置或大小
- git - 没有关于将提交从一个分支移动到另一个分支的图表,很难理解材料