Todo do this you need to do reverse Android because Home screen under user control, But still there is way
Just create a method createShortCut() outside the oncreate method and call it inside onCreate(Bundle savedInstanceState) overridden method
private void createShortCut() {
Intent shortcutIntent = new Intent(getApplicationContext(),MainActivity.class);
shortcutIntent.setAction(Intent.ACTION_MAIN);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, R.string.app_name);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(intent);
}
Finally create boolean variable store it in shared preference before calling Above method makes sure boolean variable is false this is just to avoid multiple shortcuts.
Don't forget to add permission in your Manifest<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
Hope it helps you