Android 에서 여러 아이콘 을 구현 하 는 몇 가지 방법
최근 에 새로운 수요 가 필요 하기 때문에 제 응용 프로그램 은 여러 개의 ICON 입구 가 있 을 것 입 니 다.최종 적 으로 activity-alias 를 선 택 했 습 니 다.사실은 여러 개의 아이콘 을 실현 하 는 데 여러 가지 방식 이 있 습 니 다.다음은 여러분 에 게 정리 하고 공유 하여 참고 학습 을 제공 합 니 다.
1.멀 티 액 티 비 티+intent-filter 방식
launcher 는 app 에 다음 intent-filter 속성 이 있 는 탭 을 스 캔 하기 때문에 데스크 톱 에 추가 합 니 다.
따라서 데스크 톱 에 추가 하고 싶 은 activity 에 다음 탭 을 추가 하면 됩 니 다.
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
2.activity-alias 방식위의 첫 번 째 방식 은 하나의 activity 에 대한 요 구 는 할 수 없 는 것 이다.입구 Activity+점프 파 라 메 터 를 몇 개 더 쓰 는 방식 으로 만 해결 할 수 있 고 activity-alias 방식 으로 이 문 제 를 잘 해결 할 수 있다.
activity-alias 에서
android:name
이 activity 의 이름 을 정의 하 는 것 입 니 다.이 아이콘 을 클릭 하여 들 어가 면 코드 에 있 습 니 다.
getIntent().getComponent().getClassName()
이 이름 을 얻 을 수 있 습 니 다.targetActivity 는 이 아이콘 을 클릭 한 후의 목표 activity 입 니 다.위 코드 는 목표 activity 에 적 혀 있 습 니 다.얻 은 이름 은 여전히 우리 가 정의 한 이름 입 니 다.이 를 통 해 어느 입 구 를 통 해 들 어 왔 는 지 판단 할 수 있 습 니 다.
<activity-alias
android:name="@string/altman"
android:exported="true"
android:icon="@drawable/speech_01"
android:label="@string/altman_app_name"
android:screenOrientation="landscape"
android:targetActivity="com.avatar.dialog.DialogActivity"
android:theme="@style/DialogActivityTheme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
3.웹 탭-단축 키 추가이 는 UC 브 라 우 저 에서 데스크 톱 에 웹 탭 을 만 드 는 등 특수 한 상황 에 만 사 용 됩 니 다.데스크 톱 애플 리 케 이 션(launcher)에 action 을 보 내 는 방송 입 니 다.관련 action 은 다음 과 같 습 니 다.
public static final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";
필요 한 권한:
<!-- -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<!-- -->
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
<!-- -->
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
아이콘 추가
private void addShortcut(String name) {
Intent addShortcutIntent = new Intent(ACTION_ADD_SHORTCUT);
//
addShortcutIntent.putExtra("duplicate", false);//
// Intent , Intent.EXTRA_SHORTCUT_INTENT value
// , Toast ,
//
// : MIUI ,
//
addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
//
addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(MainActivity.this,
R.drawable.ic_launcher));
//
Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
launcherIntent.setClass(MainActivity.this, MainActivity.class);
launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
addShortcutIntent
.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);
//
sendBroadcast(addShortcutIntent);
}
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.