구글 플레이스토어에서 앱을 다운받으면 자동으로 바탕화면에 아이콘이 생성이 됩니다.


하지만 Tstore 라던가 몇몇 스토어에서는 앱을 설치해도 바탕화면에 아이콘이 생성이 안됩니다.


아래는 바탕화면에 아이콘을 생성하는 코드입니다. 그대로 하시면 됩니다.



MainActivity.java 

public class MainActivity extends Activity{

    protected void onCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);


        SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);

        pref.getString("check", "");

        if(pref.getString("check", "").isEmpty()){

Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);

shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER);

shortcutIntent.setClassName(this, 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_name));

intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,

Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher));

intent.putExtra("duplicate", false);

intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

        

sendBroadcast(intent);

        }

SharedPreferences.Editor editor = pref.edit();

        editor.putString("check", "exist");

        editor.commit();

    }

}




AndroidManifest.xml 

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />  // 추가해줍니다.


정말 간단하죠?


이제 앱을 설치하면 자동으로 바탕화면에 아이콘이 추가되고 아이콘이 추가되어 있는 상태라면 설치를 안합니다.


즉 앱이 실행이 될때마다 아이콘 유무를 체크하고 아이콘이 없으면 아이콘을 설치합니다.



Posted by 정윤문경아빠