Android 는 어떻게 앱 데스크 톱 아이콘 을 동적 으로 변경 합 니까
AndroidManifest.xml
에 있 는<activity-alias>
태그 실현 방식(더 많은 글 은 제 위 챗 공식 계 정,왼쪽 QR 코드 를 주목 하 세 요)을 제공 합 니 다.우 리 는 Activity 를 쓸 때마다 AndroidManifest 에서 설정 해 야 정상적으로 시작 할 수 있다 는 것 을 알 고 있 습 니 다.그 밖 에 우 리 는 그것 에 대해 별명 을 설정 할 수 있 습 니 다.즉,
<activity-alias>
태그 로 이 태그 의 속성 은
android:icon="@mipmap/app_logo"
android:label="@string/app_name"
위의 두 속성 은 아이콘 과 탭 을 설정 하 는 데 사 용 됩 니 다.
android:name=".newsLuncherActivity"
별명 name 은 마음대로 쓸 수 있다 고 하지만 제 가 말 하고 싶 은 것 은 최대한 하나의 activity 로 설정 하 는 것 입 니 다.가능 한 한 하나의
android:enabled="false"
이것 은 별명 을 표시 할 지 여부 입 니 다.기본 값 은 true 입 니 다.
android:targetActivity=".MainActivity"
이것 이 중요 합 니 다.별명 을 지정 하여 시작 하 는 activity 는 원래 시작 하 는 입구 activity 의 name 과 일치 하고구체 적 인 실현 은 다음 과 같다.
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="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>
</application>
위 에는 기본 아이콘 과 기본 activity 입구 가 있 습 니 다.
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="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>
<activity-alias
android:name=".newsLuncherActivity"
android:enabled="false"
android:icon="@mipmap/app_logo"
android:label="@string/app_name"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
</application>
위 는
com.ming.abner.changelauncher.newsLuncherActivity
private void changeLuncher(String name) {
PackageManager pm = getPackageManager();
pm.setComponentEnabledSetting(getComponentName(),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
pm.setComponentEnabledSetting(new ComponentName(MainActivity.this, name),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
//Intent Launcher
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.addCategory(Intent.CATEGORY_DEFAULT);
List<ResolveInfo> resolves = pm.queryIntentActivities(intent, 0);
for (ResolveInfo res : resolves) {
if (res.activityInfo != null) {
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
am.killBackgroundProcesses(res.activityInfo.packageName);
}
}
}
}
권한 추가 기억 하기:
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 Android 가 앱 데스크 톱 아이콘 을 어떻게 동적 으로 바 꾸 는 지 여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.