iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Androidapp本地切换logo和名称
  • 822
分享到

Androidapp本地切换logo和名称

2024-04-02 19:04:59 822人浏览 安东尼
摘要

首先呢,在app的AndroidManifest.xml文件里,配置需要替换的loGo和app名称eg:下面配置了一套默认的,两套用于切换的icon和名称android:enable

首先呢,在app的AndroidManifest.xml文件里,配置需要替换的loGo和app名称
eg:下面配置了一套默认的,两套用于切换的icon和名称
android:enabled: 设为“true”时,就会启用当前别名的Activity,和当前的icon和当前的应用名称: 设为“false”时,表示停止使用当前别名的Activity
android:icon:当前别名的应用图标
android:label:当前别名的应用名称
android:name:别名,命名规则同Actively
android:targetActivity:通过别名调用的实际 Activity 的名称

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="Http://schemas.android.com/apk/res/android"
    package="com.cgg.change_icon">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.ChangeIcon">

        <activity android:name=".MainActivity"/>

        <activity-alias
            android:name=".DefaultAliasActivity"
            android:enabled="true"
            android:icon="@mipmap/ic_launcher"
            android:label="ChangeIcon"
            android:targetActivity=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>

        <activity-alias
            android:name=".Alias1Activity"
            android:enabled="false"
            android:icon="@mipmap/app_logo_b"
            android:label="ChangeIcon1"
            android:targetActivity=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>

        <activity-alias
            android:name=".Alias2Activity"
            android:enabled="false"
            android:icon="@mipmap/app_logo_c"
            android:label="ChangeIcon2"
            android:targetActivity=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>
    </application>

</manifest> 

然后就是代码切换:相关方法介绍一下
通过 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<ImageView>(R.id.iv_0).setOnClickListener {
            ShowComponent(APP_D)
        }

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

        findViewById<ImageView>(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
            )
        }
    }

}

布局也贴一下

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/iv_0"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:scaleType="centerCrop"
        android:src="@mipmap/ic_launcher"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginTop="30dp"/>

    <ImageView
        android:id="@+id/iv_1"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:scaleType="centerCrop"
        android:src="@mipmap/app_logo_b"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@id/iv_0"
        android:layout_marginTop="30dp"/>

    <ImageView
        android:id="@+id/iv_2"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:scaleType="centerCrop"
        android:src="@mipmap/app_logo_c"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@id/iv_1"
        android:layout_marginTop="30dp"/>

</androidx.constraintlayout.widget.ConstraintLayout>

功能说完了,下面说下缺陷

替换的icon需要打包的时候就预埋到代码里icon切换的时候和闪退一样上过含activity-alias包后,如果再更新不含activity-alias包,会导致 APP 从桌面再也找不到的风险

到此这篇关于Android app本地切换logo和名称的文章就介绍到这了,更多相关Android 切换logo和名称内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Androidapp本地切换logo和名称

本文链接: https://www.lsjlt.com/news/138922.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Androidapp本地切换logo和名称
    首先呢,在app的AndroidManifest.xml文件里,配置需要替换的logo和app名称eg:下面配置了一套默认的,两套用于切换的icon和名称android:enable...
    99+
    2024-04-02
  • Android怎么实现app本地切换logo和名称
    本篇内容主要讲解“Android怎么实现app本地切换logo和名称”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android怎么实现app本地切换logo和名称”吧!首先呢,在app的And...
    99+
    2023-06-29
  • 阿里云怎么修改本地数据库名称和名字
    简介 在使用阿里云的数据库服务时,有时候我们需要修改数据库的名称和名字,以便更好地管理我们的数据。本文将介绍如何在阿里云上进行数据库名称和名字的修改。修改数据库名称和名字的方法步骤一:登录阿里云控制台首先,打开浏览器,输入阿里云官方网址(h...
    99+
    2024-01-18
    阿里 名字 名称
  • win10怎么切换到本地账户
    要切换到本地账户,你可以按照以下步骤操作:1. 打开“设置”应用程序。你可以通过在开始菜单中搜索“设置”来找到它。2. 在“设置”窗...
    99+
    2023-09-20
    win10
  • git切换分支不要本地代码
    随着软件开发的不断发展,版本控制成为了每个开发者不可缺少的工具。而Git,作为目前最流行的版本控制工具,占据着越来越重要的位置。在Git中,分支是一个非常重要的概念,它允许开发者在同一时间内进行多个不同的开发工作。然而,在切换分支时,我们常...
    99+
    2023-10-22
  • win7系统修改本地磁盘名称 win7怎么更改本地磁盘变成自己想要的名称
    如果能够把win7旗舰版系统的本地磁盘的名称更改为娱乐、工作等,方便识别的名?下面小编简单介绍三个步骤,有需要的用户可以往下学习。 1、在Win7系统双击“计算机”图标,打开“Wi...
    99+
    2023-05-20
    win7系统 本地磁盘
  • BAT脚本实现自动IP地址切换
    BAT自动IP地址切换脚本如下: @echo off color 3f mode con cols=80 lines=30 title 自动IP地址切换脚本 By 小强 if "%1...
    99+
    2024-04-02
  • Win8技巧之Windows 8本地账户和微软账号切换
    故障现象: Windows 8 如何在本地账户和微软账号之间切换 解决方案: 首先,将鼠标移动到桌面的右上角或者右下角,在超级菜单中选择“设置”,如下图所示:   Windows 8本地...
    99+
    2023-06-03
    Win8技巧 本地账户切换 账户 技巧 Windows 8本地 微软 Win8
  • win10本地账户怎么切换成microsoft账户?
     win10有不少功能需要用微软账户登录才生效呵。所以小编接下来给大家介绍win10本地账户切换成microsoft账户的详细教程,但是嫌麻烦的朋友也可以参考这篇文章,就不需要切换用户这么麻烦啦,win10怎么...
    99+
    2023-06-13
    win10本地账户 微软账户 win10 microsoft 账户
  • 用批处理脚本实现ip地址切换
    本篇内容主要讲解“用批处理脚本实现ip地址切换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用批处理脚本实现ip地址切换”吧!代码如下:@echo offrem # --------------...
    99+
    2023-06-08
  • Postmanxmysql不切换环境缓存数据到本地
    目录背景痛点1. 想法1--后台提供接口2. 想法2--nodejs搭服务3. 想法3--自定义执行脚本第一版:满足基本功能第二版:参数预先设置电三版:兼容win/mac系统(最终版...
    99+
    2023-02-10
    Postman xmysql本地数据缓存 Postman xmysql
  • Win11切换本地账户有什么区别?Win11本地账户和微软账户区别介绍
      相信使用过电脑的小伙伴都清楚,电脑账户有本地账户和microsoft账户,那么二者有什么区别呢?为什么许多人都更加推荐本地账户登录呢?下面就让我们一起来看一看吧,想要了解的小伙伴可不要错过。   Win11本地账户...
    99+
    2023-05-25
    Win11本地账户 微软账户
  • 多版本node怎么安装和切换
    这篇文章主要介绍了多版本node怎么安装和切换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇多版本node怎么安装和切换文章都会有所收获,下面我们一起来看看吧。安装多版本node的原因:在项目开发过程中,不同项...
    99+
    2023-07-02
  • 亚马逊如何更改服务器地址名称和地址
    首先,登录到亚马逊的控制台。 然后,在主页上可以看到一个“联系客户支持”的链接。点击该链接,然后选择“联系亚马逊团队”。 接下来,可以看到一个“请求新的服务器地址”的链接。点击该链接,然后输入新的服务器地址。 输入新的服务器地址后,点击“...
    99+
    2023-10-27
    亚马逊 地址 如何更改
  • 云服务器怎么改系统名称和地址
    如果您想要将云服务器的系统名称改为其他名称,可以按照以下步骤进行操作: 打开 Amazon Web Services(AWS)的控制台应用程序,然后选择“管理您的云”选项卡。 在“应用程序”下方的菜单栏中选择“创建新的云应用程序”。 在...
    99+
    2023-10-27
    怎么改 名称 地址
  • 云服务器怎么改端口名称和地址
    如果您想要在云服务器上添加或更改端口名称和地址,可以按照以下步骤操作: 首先,需要确定哪个端口是开放的。您可以登录到云服务器控制台或联系云服务器提供商以查看端口信息。 在云服务器的控制台或联系云服务器提供商处,查找开放的端口,并选择适当...
    99+
    2023-10-27
    端口 怎么改 名称
  • 亚马逊如何更改服务器地址名称和名字
    在浏览器中访问亚马逊的官方网站:https://www.amazon.cn/ 在页面上单击右上角的“登录”按钮,然后输入您的Amazon账户和密码。 点击“登录”按钮。 在新页面上,您将看到一个名为“账户设置”的选项。单击它,然后单击“更...
    99+
    2023-10-27
    亚马逊 如何更改 名字
  • win8.1怎么切换账户?Win8.1系统切换本地账户方法详细教程介绍
    很多安装Win8.1系统的用户会发现,电脑的登录账户默认为绑定的Microsoft登陆账户,该账户会同步一个人心信息到云端,但一般这些同步信息也没有多大的用处,还可能会泄露个人隐私,因此很多用户都会将Win8.1系统切换...
    99+
    2023-06-02
    win8.1 切换账户 切换本地账户 win8.1切换本地账户 账户 ?Win8.1 系统 教程 方法
  • 亚马逊如何更改服务器名称和地址
    1.登录到亚马逊的控制台,然后在“系统设置”下单击“服务与应用程序”选项卡。 2.找到“Amazon S3”服务,然后单击其下的“停止”按钮。 3.等待一段时间,直到Amazon S3服务停止响应。 4.在“Amazon S3”服务停止响...
    99+
    2023-10-27
    亚马逊 如何更改 名称
  • 云服务器怎么改系统名称和地址呢
    一、系统名称和地址的重要性 在云服务器中,系统名称和地址是系统的重要组成部分。系统名称代表了该系统的品牌和名称,如Amazon Web Services、Google Cloud Platform等。它是用户访问云服务器的第一印象,也是安...
    99+
    2023-10-27
    怎么改 名称 地址
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作