2011-05-17 106 views
2

我有代碼在用戶第一次打開應用程序時在主屏幕上創建應用程序的快捷方式。是否有可能使應用程序進行設置,以便在用戶打開應用程序時將快捷方式替換爲小部件?安裝/首次啓動後,會將小部件設置爲主屏幕嗎?

這是我使用的設置快捷

Intent shortcutIntent = new Intent(); 
    shortcutIntent.setClassName(".BatteryWidget", "SampleIntent"); 
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    shortcutIntent.putExtra("someParameter", "HelloWorld"); 

    Intent addIntent = new Intent(); 
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); 
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName); 


    addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); 
    this.sendBroadcast(addIntent); 

-Thanks提前代碼。

+0

我在同一個問題上苦苦掙扎... – TacB0sS 2011-05-17 12:28:57

+0

@TacBOsS,迄今爲止我對它做了很多的閱讀,但大家都說它不可能。用戶實際上必須手動完成。女巫是一個無賴。 – Christian 2011-05-25 02:55:51

回答

2

不,在沒有用戶交互的情況下,將小部件添加到主屏幕無法正常工作。別說刪除/替換快捷方式。

+0

是的謝謝你的回覆。我實際上發現了我自己,我想我應該發佈 – Christian 2011-07-20 23:58:35

+0

@Mark你能指點我的文檔?以防萬一。預先感謝您:-) – 2012-04-20 02:13:53

+0

既沒有文件說它有效,也沒有。沒有API方法可以做到這一點。這也是有道理的,因爲也許你可以用一個1x1小部件替換一個圖標(大小方面),但是很多小部件都比這個大,並且要求用戶選擇一個足夠空間的主屏幕。 – Mark 2012-04-25 13:33:05