Bir android uygulama geliştirirken bu sorun ortaya çıktı. Gelişim sırasında topladığım bilgileri paylaşmayı düşündüm.Programatik olarak android'de Ana ekrana kısayol nasıl eklenir
cevap
Android, ana ekrana kısayollar eklemek için kullanabileceğiniz com.android.launcher.action.INSTALL_SHORTCUT bir intens sınıfı sağlar. Aşağıdaki kod snippet'inde HelloWorldShortcut adıyla bir MainActivity aktivitesi kısayolu oluşturuyoruz.
Önce android manifest xml'ye INSTALL_SHORTCUT izni eklememiz gerekiyor.
<uses-permission
android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
addShortcut() yöntemi, Giriş ekranında yeni bir kısayol oluşturur. Bizim hedef etkinliğe tutan shortcutIntent nesne oluşturmak nasıl
private void addShortcut() {
//Adding shortcut for MainActivity
//on Home screen
Intent shortcutIntent = new Intent(getApplicationContext(),
MainActivity.class);
shortcutIntent.setAction(Intent.ACTION_MAIN);
Intent addIntent = new Intent();
addIntent
.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "HelloWorldShortcut");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(getApplicationContext(),
R.drawable.ic_launcher));
addIntent
.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
addIntent.putExtra("duplicate", false); //may it's already there so don't duplicate
getApplicationContext().sendBroadcast(addIntent);
}
Not. Bu amaç nesnesi, EXTRA_SHORTCUT_INTENT olarak başka bir hedefe eklenir.
Son olarak yeni amacı yayınlıyoruz. Bu, EXTRA_SHORTCUT_NAME olarak belirtilen ad ve EXTRA_SHORTCUT_ICON_RESOURCE tarafından tanımlanan simge ile bir kısayol ekler.
Şerefe! Chanaka
Ayrıca birden çok kısayol önlemek için bu kodu koymak: pls Tekrar yapılan cevaplar tamamen değinilmeyecek unutmayın: aynısı olarak işaretlenmiş mods
if(!getSharedPreferences(Utils.APP_PREFERENCE, Activity.MODE_PRIVATE).getBoolean(Utils.IS_ICON_CREATED, false)){
addShortcut();
getSharedPreferences(Utils.APP_PREFERENCE, Activity.MODE_PRIVATE).edit().putBoolean(Utils.IS_ICON_CREATED, true);
}
iyi araştırılan cevap için teşekkürler belgesiz işlevsellik –
Benim için çalıştınız – David
Ben şimdi oyun deposu otomatik olarak bunu kullanıcı için yapar. (Ayarlarda değiştirilebilir), bu sadece masaüstünde 2 simge yapar. –
. Bu nedenle OP, tavsiye edildiği gibi [yeni bir soru sormaya] karar verdi (http://stackoverflow.com/questions/ask). Kendi cevabının, kopyadaki kabul edilen cevaba çok farklı bilgiler içerdiğini göreceksiniz. Pls tekrar açmayı düşünüyor. –
Oldukça eski bir makaleyi neredeyse hiç sunmadan ürettiği için itibar kazanmak için kolay bir yol gibi görünüyor: http://viralpatel.net/blogs/android-install-uninstall-shortcu t-example/ – igorsantos07