인디노트

안드로이드 앱 설치시 홈에 아이콘 생성 본문

소스 팁/Java, Android, Kotlin

안드로이드 앱 설치시 홈에 아이콘 생성

인디개발자 2016. 11. 2. 15:09

안드로이드 앱을 설치하면 기본적으로 HOME 화면에 앱아이콘을 생성하지 않는다.

따라서, 앱을 개발할 때 해당하는 코드를 넣어야 한다.


우선 manifest 파일에 다음의 권한을 명시한다.

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />


앱을 실행할 때마다 아이콘을 생성하면 사용자가 짜증을 낼 터이니 다음과 같이 체크하도록 한다.

public SharedPreferences shortcutSharedPref;
public boolean isInstalled;

shortcutSharedPref = getSharedPreferences("what", MODE_PRIVATE);
isInstalled = shortcutSharedPref.getBoolean("isInstalled", false);
Log.e(LOG_TAG + "installed: " + isInstalled);

if (!isInstalled) {
    addAppIconToHomeScreen(this);

}


private void addAppIconToHomeScreen(Context context) {
Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER);
shortcutIntent.setClassName(context, getClass().getName());
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getResources().getString(R.string.app_label));
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.mipmap.ic_launcher));

intent.putExtra("duplicate", false);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

sendBroadcast(intent);

SharedPreferences.Editor editor = shortcutSharedPref.edit();
editor.putBoolean("isInstalled", true);
editor.commit();

}

이정도면 적용해 사용하는데 지장이 없을 듯 하다.

반응형
Comments