首页 > 代码库 > android 预置桌面上的应用程序图标、快捷方式图标或者窗口小部件
android 预置桌面上的应用程序图标、快捷方式图标或者窗口小部件
请修改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
其他运营商项目与此类似。
<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
其他运营商项目与此类似。
android 预置桌面上的应用程序图标、快捷方式图标或者窗口小部件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。