跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Android app本地切换logo和名称

首先呢,在app的AndroidManifest.xml文件里,配置需要替换的logo和app名称

eg:下面配置了一套默认的,两套用于切换的icon和名称

android:enabled: 设为“true”时,就会启用当前别名的Activity,和当前的icon和当前的应用名称: 设为“false”时,表示停止使用当前别名的Activity

android:icon:当前别名的应用图标

android:label:当前别名的应用名称

android:name:

别名,命名规则同Actively

android:targetActivity:通过别名调用的实际 Activity 的名称

然后就是代码切换:相关方法介绍一下

通过 PackageManager 在清单文件中所定义的任何组件上切换 启用/停止 状态。

PackageManager.setComponentEnabledSetting

设置包组件(活动、接收器、服务、提供程序)的启用设置。此设置将覆盖组件在其清单中设置的任何启用状态。

参数:

componentName–要启用的组件

newState–组件的新启用状态。

flags–可选的行为标志package com.cgg.change_icon

import android.content.ComponentName import android.content.Context import android.content.pm.PackageManager import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.ImageView import android.widget.RadioGroup import androidx.annotation.StringDef

class MainActivity : AppCompatActivity() {

val APP_D = "com.cgg.change_icon.DefaultAliasActivity"val APP_1 = "com.cgg.change_icon.Alias1Activity"val APP_2 = "com.cgg.change_icon.Alias2Activity"

private var mPackageManager: PackageManager? = null

override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState) setContentView(R.layout.activity_main)

mPackageManager = applicationContext.packageManager

findViewById(R.id.iv_0).setOnClickListener {ShowComponent(APP_D)}

findViewById(R.id.iv_1).setOnClickListener {ShowComponent(APP_1)}

findViewById(R.id.iv_2).setOnClickListener {ShowComponent(APP_2)}

}

private fun ShowComponent(app: String){packageManager.run {setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP) setComponentEnabledSetting(ComponentName(baseContext, app),PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP)}}

}布局也贴一下

功能说完了,下面说下缺陷替换的icon需要打包的时候就预埋到代码里icon切换的时候和闪退一样上过含activity-alias包后,如果再更新不含activity-alias包,会导致 APP 从桌面再也找不到的风险到此这篇关于Android app本地切换logo和名称的文章就介绍到这了,更多相关Android 切换logo和名称内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:Android 给图片加上水印的示例代码(支持logo+文字)

Android动态修改应用图标与名称的方法实例

相关文章