您的位置:首页 > 移动开发 > Android开发

android 预置桌面上的应用程序图标、快捷方式图标或者窗口小部件

2014-12-05 13:33 387 查看
请修改res/xml/default_workspace.xml文件,添加如下代码:

<favorite

launcher:packageName="" //完整的包名

launcher:className="" //完整包名.类名(处理main intent的类)

launcher:screen="" //应用图标所在的屏幕(从0开始)

launcher:x="" //应用图标所在的列

launcher:y="" /> //应用图标所在的行

<shortcut

launcher:uri="http://www.baidu.com"

launcher:icon="@drawable/ic_launcher_baidu"

launcher:title="@string/baidu_title"

launcher:screen=""

launcher:x=""

launcher:y="" />

<shortcut

launcher:uri="#Intent;action=android.intent.action.MAIN;launchFlags=0x10200000;component=com.cleanmaster.mguard/com.cleanmaster.processcleaner.ProcessCleanerActivity;end"

launcher:icon="@drawable/ic_launcher_application"

launcher:title="@string/jinshan_title"

launcher:screen=""

launcher:x=""

launcher:y=""/>

<appwidget

launcher:packageName="com.android.settings"

launcher:className="com.android.settings.widget.SettingsAppWidgetProvider"

launcher:screen="3"

launcher:x="0"

launcher:y="0"

launcher:spanX="4" //在屏幕上x方向所占的格子数

launcher:spanY="1" //在屏幕上y方向所占格子数 />



1、不能预置有configuration的AppWidget。

2、Google从KK开始对系统权限增加限制,对于system权限的获取有严格的规范。Launcher3默认拿不到系统BIND_APPWIDGET权限,因此无法预置AppWidget。

如果要预置AppWidget,需要Launcher3获取到系统权限,因此要修改Launcher3的Android.mk,增加LOCAL_PRIVILEGED_MODULE := true,这样build出来的Launcher3.apk会生成到/system/priv-app目录下,可以预置appwidget。

具体代码撰写如下:



3、如果是运营商项目,会有resource_overlay机制,以OP01/SPEC0200/SEGC为例,桌面预置内容是以如下路径的default_workspace.xml为准:

ICS/ICS2: alps/mediatek/source/operator/OP01/SPEC0200/SEGC/OverLayResource/packages/apps/Launcher2/res/xml/default_workspace.xml

JB/JB2: alps/mediatek/operator/OP01/SPEC0200/SEGC/OverLayResource/packages/apps/Launcher2/res/xml/default_workspace.xml

其他运营商项目与此类似。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐