동적으로 바탕 화면의 아이콘을 변경 안드로이드

때마다 더블 11, 12 새벽, Taobao의 안드로이드 폰 실행기, 살쾡이 아이콘이 아이콘을 두 번 11,12 화제가되고 있습니다. 동적 스위칭 아이콘 명을 달성하기 위해,

MainActivity

패키지 com.example.modifyappdemo;

수입 에는 android.app.Activity;
수입 android.app.ActivityManager;
수입 android.content.ComponentName;
수입 android.content.pm.PackageManager;
수입 android.os.Bundle;
수입 android.support.v7.app.AppCompatActivity;
수입 android.view.View에서;
수입 android.widget.Button;

가져  정적 android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED을;

공공  클래스 MainActivity는 확장 AppCompatActivity이 구현 View.OnClickListener을 {

    개인 버튼 changeIcon;
    개인 ActivityManager activityManager;
    개인 패키지 매니저 패키지 매니저;
    개인  부울 의 setIcon = 진정한 ;

    @보수
    보호  공간 에서 onCreate (번들 savedInstanceState) {
         슈퍼 .onCreate (savedInstanceState);
        된 setContentView (R.layout.activity_main);
        activityManager = (ActivityManager) .getSystemService (Activity.ACTIVITY_SERVICE);
        패키지 매니저 = getPackageManager ();
        changeIcon = findViewById를 (R.id.changeIcon);
        changeIcon.setOnClickListener ( 이 께 );
    }

    @보수
    공공  무효 의 onclick (보기 V) {
         스위치 (v.getId ()) {
             경우 R.id.changeIcon :
                 만약 ( "SecondApp" .equals (인 getTitle ())) {
                    의 setIcon = 거짓 ;
                } 다른 {
                    의 setIcon = 진정한 ;
                }

                (packageManager.setComponentEnabledSetting 새로운 ComponentName (  , "com.example.modifyappdemo.MainActivity을" ),
                        의 setIcon == 사실 ? COMPONENT_ENABLED_STATE_DISABLED : PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                        PackageManager.DONT_KILL_APP);

                (packageManager.setComponentEnabledSetting 새로운 ComponentName (  , "com.example.modifyappdemo.changeAfter을" ),
                        의 setIcon == 사실 ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                        PackageManager.DONT_KILL_APP);
                휴식 ;
            기본값 :
                 휴식 ;
        }
    }
}

AndroidManifest.xml에

<? XML 버젼 = "1.0"인코딩 = "UTF-8" ?> 
< 매니페스트 의 xmlns : 로이드 = "http://schemas.android.com/apk/res/android" 
        패키지 = "com.example.modifyappdemo" > 
< 사용 -permission 안드로이드 : 이름 = "android.permission.KILL_BACKGROUND_PROCESSES" /> 
    < 어플리케이션
             안드로이드 : allowBackup = "true"로 
            안드로이드 : 아이콘 = "@ 밉맵 / ic_launcher" 
            안드로이드 : 라벨 = "@ 문자열 / APP_NAME" 
            안드로이드 : roundIcon = "@ 밉맵 / ic_launcher_round " 
            안드로이드 := "@ 스타일 / AppTheme" > 
        < 활동 안드로이드 : 이름 = "MainActivity." > 
            < 의도 필터 > 
                < 액션 안드로이드 : 이름 = "android.intent.action.MAIN"  />

                < 카테고리 로이드 이름 = "android.intent.category.LAUNCHER"  /> 
            </ 텐트 필터 > 
        </ 활동 >

        < 활동 별칭
                 안드로이드 : 아이콘 = "@ 밉맵 / alias_icon" 
                안드로이드 : 라벨 = "@ 문자열 / app_name2" 
                안드로이드 : 이름 = "changeAfter" 
                안드로이드 : targetActivity = "MainActivity." 
                안드로이드 : 활성화 = "거짓" > 
            < intent- 필터링 > 
                < 활동 로이드 이름 = "android.intent.action.MAIN"  />

                < 카테고리 로이드 이름 = "android.intent.category.LAUNCHER"  /> 
            </ 텐트 필터 > 
        </ 활성 앨리어스 >

    </ 애플리케이션 >

</ 매니페스트 >

strings.xml의

< 자료 > 
    < 문자열 이름 = "APP_NAME" > FirstApp </ 문자열 > 
    < 문자열 이름 = "app_name2" > SecondApp </ 문자열 > 
</ 자원 >

 

추천

출처www.cnblogs.com/loaderman/p/11662498.html