Çözümü buldum
onCreate(){
ShortcutIcon();
}
private void ShortcutIcon(){
Intent shortcutIntent = new Intent(getApplicationContext(), AndroidLauncher.class); // Bu Parametreye Activity Adınızı yazmalısınız.
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent addIntent = new Intent();
addIntent.putExtra("duplicate", false);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Wayout Ball"); // Kısayol Adı
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(addIntent);
// Uygulamanın birden fazla oluşmasını önlemek için iki yol var.
//1
addIntent.putExtra("duplicate",false); // Bu kod satırı bunu yapıyor ama cache silindiğinde 2.bir kısayol oluşturabilir.
//2
intent.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(intent);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(intent);
// Bu kod satırları kısayolu ilk önce siliyor sonra oluşturuyor.
}
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
Bu kod blokları uygulama çalıştığında eğer uygulamanın kısayolu homescreen ekranın yoksa kısayol oluşturuyor.