반응형



앱 설치시 홈 화면에 아이콘을 설치하는 방법을 다룹니다. Android 8.0 API 28에서도 동작하는 방법입니다.  




1. AndroidManifest.xml 매니페스트 파일에 다음 권한을 추가합니다.


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




2. MainActivity.java 파일의 onCreate 메소드에 다음 코드를 추가합니다.


   final String PREF_FIRST_START = "AppFirstLaunch";

   @Override
   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);


       SharedPreferences settings = getSharedPreferences(PREF_FIRST_START, 0);

       
       if(settings.getBoolean("AppFirstLaunch", true)){  // 아이콘이 두번 추가 안되도록 하기 위해서 필요한 체크입니다.

         
           settings.edit().putBoolean("AppFirstLaunch", false).commit();

           if (ShortcutManagerCompat.isRequestPinShortcutSupported(this))
           {
               ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(this, "#1")
                       .setIntent(new Intent(this, MainActivity.class).setAction(Intent.ACTION_MAIN)) // !!! intent's action must be set on oreo
                       .setShortLabel(getString(R.string.app_name)) //  아이콘에 같이 보여질 이름
                       .setIcon(IconCompat.createWithResource(this, R.drawable.image))  //아이콘에 보여질 이미지
                       .build();
               ShortcutManagerCompat.requestPinShortcut(this, shortcutInfo, null);
           }
           else
           {
               // Shortcut is not supported by your launcher
           }

       }

}





참고


https://stackoverflow.com/questions/6337431/android-create-shortcuts-on-the-home-screen/33075874


https://stackoverflow.com/questions/6337431/android-create-shortcuts-on-the-home-screen?rq=1


반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts