2013-06-01 9 views
18

यह समस्या तब उत्पन्न हुई जब मैं एंड्रॉइड एप्लिकेशन विकसित कर रहा था। मैंने अपने विकास के दौरान एकत्र किए गए ज्ञान को साझा करने के बारे में सोचा।एंड्रॉइड प्रोग्रामेटिक रूप से होम स्क्रीन पर शॉर्टकट कैसे जोड़ें

+0

। इसलिए ओपी ने सलाह दी कि [एक नया प्रश्न पूछें] (http://stackoverflow.com/questions/ask)। आप देखेंगे कि उनके स्वयं के उत्तर में डुप्लिकेट पर स्वीकृत उत्तर के लिए बहुत अलग जानकारी है। Pls फिर से खोलने के लिए विचार करें। –

+0

यह प्रतिष्ठा हासिल करने का एक आसान तरीका प्रतीत होता है क्योंकि वह क्रेडिट देने के बिना लगभग पुराने लेख को पुन: पेश कर रहा है: http: //viralpatel.net/blogs/android-install-uninstall-shortcu t-example/ – igorsantos07

उत्तर

62

एंड्रॉइड हमें एक इरादा वर्ग com.android.launcher.action.INSTALL_SHORTCUT प्रदान करता है जिसका उपयोग होम स्क्रीन पर शॉर्टकट जोड़ने के लिए किया जा सकता है। निम्नलिखित कोड स्निपेट में हम HelloWorldShortcut नाम के साथ गतिविधि मुख्य गतिविधि का शॉर्टकट बनाते हैं।

सबसे पहले हमें एंड्रॉइड मैनिफेस्ट xml में INSTALL_SHORTCUT अनुमति जोड़ने की आवश्यकता है।

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

एडशॉर्टकट() विधि होम स्क्रीन पर एक नया शॉर्टकट बनाता है।

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); 
} 

ध्यान दें कि हम शॉर्टकट इंटेंट ऑब्जेक्ट कैसे बनाते हैं जो हमारी लक्षित गतिविधि रखता है। इस इरादे वस्तु को EXTRA_SHORTCUT_INTENT के रूप में एक और इरादे में जोड़ा गया है।

अंत में हम नए इरादे को प्रसारित करते हैं। यह EXTRA_SHORTCUT_NAME और EXTRA_SHORTCUT_ICON_RESOURCE द्वारा परिभाषित आइकन के साथ एक शॉर्टकट जोड़ता है।

चीयर्स !!! चनाका

भी अधिक शॉर्टकट से बचने के लिए इस कोड को: कृपया ध्यान दें कि आपकी डुप्लिकेट पर जवाब पूरी तरह से सवाल का पता नहीं:

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); 
     } 
mods कि डुप्लिकेट के रूप में चिह्नित करने के लिए
+0

अच्छी तरह से जांच किए गए उत्तर के लिए धन्यवाद अनियंत्रित कार्यक्षमता पर –

+4

मेरे लिए काम नहीं किया – David

+2

मुझे लगता है कि अब प्ले स्टोर स्वचालित रूप से उपयोगकर्ता के लिए करता है। (सेटिंग्स में बदला जा सकता है) तो यह केवल डेस्कटॉप पर 2 आइकन बना देगा। –

संबंधित मुद्दे