在 Launcher 添加应用程序的快捷图标
2010-04-18 06:29:00 来源:WEB开发网当我们在Home应用程序Launcher的桌面空白处长按触摸时,会出现一个对话框,提示选择要添加的桌面组件,如下图所示:
这里出现了快捷图标的选项。选择添加快捷图标后,会弹出一个对话框,显示出了可添加快捷图标的Activity所属的应用程序的图标和名称的列表。当我们想把添加快捷图标的Activity添加到这一列表时,只需要在这个Activity注册时添加一个Action为android.intent.action.
CREATE_SHORTCUT的IntentFilter就可以,如下面所示:
这样,在这个Activity列表里,就有了你的应用程序的图标和名称。有时候,我们可以在应用程序中定义一个直接在桌面创建快捷图标的Activity,可以简化用户操作,例子如下:
在类FireShortcut中,重新实现onCreate方法。首先在以上代码的第 16 行对启动此Activity的Action进行判断,若是“添加快捷图标”的Action就初始化快捷图标的Intent——设置名称、图标及Intent。由于“添加快捷图标”Action是由Launcher通startActivityForResult这一方法发出的,所以为了能够在当前Activity退出后把初始化的快捷图标Intent返回给Launcher应用程序,就在第35行调用了setResult这一方法,设置结果值为RESULT_OK表示正常返回,而快捷图标的Intent则作为结果Intent返回给Launcher,然后调用finish()方法结束Activity。若Action直接不匹配,设置结果值为RESULT_CANCELED表示取消,然后退出。
定义完了类FireShortcut以后,不要忘了还要在AndroidManifest.xml中对其进行注册声明。另外为了使该Activity能够被添加到桌面的快捷图标的列表中,还要添加相应的IntentFilter。
现在,在桌面的添加快捷图标的Activity的列表中,就出现了FireShortcut选项,单击此图标,就会直接在桌面上添加一个“拨打火警119”的快捷图标了。
赞助商链接