2011-05-17 102 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