android桌面图标摆放位置改变、将网址做成做成快捷键放在桌面上



        今天有个客户,让在桌面建一个图标,点击链接到他们公司的网址,以前做过应用程序快捷方式,默认放在桌面上,如:android 创建桌面快捷方式 、插件,没做过去链接网址。

考虑方法:

(1)、做个小的应用,调用系统浏览器,写入固定网址;

(2)、把网址做进桌面default的值。

显然第二种方案简单些,在网上也找到这种方法,如下:

一、读取桌面图标 

/packages/apps/Launcher/res/xml/default_workspace.xml中记录了系统初始化或者恢复出厂设置时桌面上图标的排列。Launcher程序第一次运行完毕以后,会在/data/data /com.android.launcher/databases/launcher.db中创建记录,里面有所有当前的桌面图标。以后每次启动只会从这里读取桌面图标。

二、default_workspace.xml分析
default_workspace.xml 中,支持的标签有:
favorite: 应用程序快捷方式。
shortcut: 链接,如网址,本地磁盘路径等。
search: 搜索框。
clock: 桌面上的钟表Widget
支持的属性有
launcher:title: 图标下面的文字,目前只支持引用,不能直接书写字符串;
launcher:icon: 图标引用;
launcher:uri: 链接地址;这个是主角,链接网址用的。
launcher:packageName: 应用程序的包名;
launcher:className :应用程序的启动类名;
launcher:screen: 图标所在的屏幕编号;
launcher:x: 图标在横向排列上的序号;
launcher:y: 图标在纵向排列上的序号;

LauncherProvider.java里面的loadFavorites方法负责解析。

 

如下面代码,我们加入clock、calendar、 gallery、 camera四个快捷方式 

[html]  view plain copy
  1.  <favorite   
  2.         launcher:className="com.android.camera.Camera"   
  3.         launcher:packageName="com.android.camera"   
  4.         launcher:screen="2"   
  5.         launcher:x="3"   
  6.         launcher:y="3" />  
  7.  <favorite   
  8.         launcher:className="com.android.calendar.LaunchActivity"   
  9.         launcher:packageName="com.android.calendar"   
  10.         launcher:screen="2"   
  11.         launcher:x="1"   
  12.         launcher:y="3" />  
  13.  <favorite   
  14.         launcher:className="com.cooliris.media.Gallery"   
  15.         launcher:packageName="com.cooliris.media"   
  16.         launcher:screen="2"   
  17.         launcher:x="2"   
  18.         launcher:y="3" />  
  19.   
  20. <favorite   
  21.         launcher:className="com.android.deskclock.DeskClock"   
  22.         launcher:packageName="com.android.deskclock"   
  23.         launcher:screen="2"   
  24.         launcher:x="0"   
  25.         launcher:y="3" />  

改动前后效果如下所示:

三、关于网络链接的解决方法

         应用程序的写法, default_workspace.xml 中有很多,对链接的写法却没有,我分析了一下它的解析程序,反向做出了链接快捷方式的写法,已经验证成功,希望可以帮到大家。
[html]  view plain copy
  1. <</span>shortcut  
  2.         launcher:title="@string/baidu"  
  3.         launcher:icon="@drawable/baidu"  
  4.         launcher:uri="http://www.baidu.com"  
  5.         launcher:screen="1"  
  6.         launcher:x="0"  
  7.         launcher:y="3" />  

链接的图标内容和文字内容是从 default_workspace.xml 中获取到的。
应用程序的图标内容和图标下面的文字内容都是从PackageManager中获取到的。
如果Launcher启动时,应用程序的包名和类名因为某种原因没有在PackageManager中找到,桌面就不会显示它的图标。如果类名和包名找到了,但是图标没有找到,会显示Android默认的小机器人图标。
所以,要在 default_workspace.xml 中加入锭接时,只要写上title,icon,uri,screen,x,y这几个属性就可以了。
而要加入应用程序时,只要写上packageName,className,screen,x,y这几个属性就可以了。

        今天有个客户,让在桌面建一个图标,点击链接到他们公司的网址,以前做过应用程序快捷方式,默认放在桌面上,如:android 创建桌面快捷方式 、插件,没做过去链接网址。

考虑方法:

(1)、做个小的应用,调用系统浏览器,写入固定网址;

(2)、把网址做进桌面default的值。

显然第二种方案简单些,在网上也找到这种方法,如下:

一、读取桌面图标 

/packages/apps/Launcher/res/xml/default_workspace.xml中记录了系统初始化或者恢复出厂设置时桌面上图标的排列。Launcher程序第一次运行完毕以后,会在/data/data /com.android.launcher/databases/launcher.db中创建记录,里面有所有当前的桌面图标。以后每次启动只会从这里读取桌面图标。

二、default_workspace.xml分析
default_workspace.xml 中,支持的标签有:
favorite: 应用程序快捷方式。
shortcut: 链接,如网址,本地磁盘路径等。
search: 搜索框。
clock: 桌面上的钟表Widget
支持的属性有
launcher:title: 图标下面的文字,目前只支持引用,不能直接书写字符串;
launcher:icon: 图标引用;
launcher:uri: 链接地址;这个是主角,链接网址用的。
launcher:packageName: 应用程序的包名;
launcher:className :应用程序的启动类名;
launcher:screen: 图标所在的屏幕编号;
launcher:x: 图标在横向排列上的序号;
launcher:y: 图标在纵向排列上的序号;

LauncherProvider.java里面的loadFavorites方法负责解析。

 

如下面代码,我们加入clock、calendar、 gallery、 camera四个快捷方式 

[html]  view plain copy
  1.  <favorite   
  2.         launcher:className="com.android.camera.Camera"   
  3.         launcher:packageName="com.android.camera"   
  4.         launcher:screen="2"   
  5.         launcher:x="3"   
  6.         launcher:y="3" />  
  7.  <favorite   
  8.         launcher:className="com.android.calendar.LaunchActivity"   
  9.         launcher:packageName="com.android.calendar"   
  10.         launcher:screen="2"   
  11.         launcher:x="1"   
  12.         launcher:y="3" />  
  13.  <favorite   
  14.         launcher:className="com.cooliris.media.Gallery"   
  15.         launcher:packageName="com.cooliris.media"   
  16.         launcher:screen="2"   
  17.         launcher:x="2"   
  18.         launcher:y="3" />  
  19.   
  20. <favorite   
  21.         launcher:className="com.android.deskclock.DeskClock"   
  22.         launcher:packageName="com.android.deskclock"   
  23.         launcher:screen="2"   
  24.         launcher:x="0"   
  25.         launcher:y="3" />  

改动前后效果如下所示:

三、关于网络链接的解决方法

         应用程序的写法, default_workspace.xml 中有很多,对链接的写法却没有,我分析了一下它的解析程序,反向做出了链接快捷方式的写法,已经验证成功,希望可以帮到大家。
[html]  view plain copy
  1. <</span>shortcut  
  2.         launcher:title="@string/baidu"  
  3.         launcher:icon="@drawable/baidu"  
  4.         launcher:uri="http://www.baidu.com"  
  5.         launcher:screen="1"  
  6.         launcher:x="0"  
  7.         launcher:y="3" />  

链接的图标内容和文字内容是从 default_workspace.xml 中获取到的。
应用程序的图标内容和图标下面的文字内容都是从PackageManager中获取到的。
如果Launcher启动时,应用程序的包名和类名因为某种原因没有在PackageManager中找到,桌面就不会显示它的图标。如果类名和包名找到了,但是图标没有找到,会显示Android默认的小机器人图标。
所以,要在 default_workspace.xml 中加入锭接时,只要写上title,icon,uri,screen,x,y这几个属性就可以了。
而要加入应用程序时,只要写上packageName,className,screen,x,y这几个属性就可以了。
一 Launcher默认界面配置(default workspace) 2 1 界面默认配置文件 2 2 LauncherProvider java的loadFavorites分析 3 二 Icon修改 界面布局调整 壁纸设置 5 1 图标大小和标题大小 5 2 Launcher 图标加入默认背景 6 3 更换Launcher默认壁纸 7 4 壁纸设置过程: 8 三 Launcher启动和初始化 9 1 Launcher进程启动过程 9 2 Launcher初始化――LauncherApplication 10 3 Launcher java初始化 12 1 Callbacks接口 15 2 数据加载流程 16 4 LoaderTask的run 方法 17 5 workspace加载数据 18 6 workspace绑定数据 20 7 ALL APP数据加载绑定 22 五 HotSeat分析 24 1 Hotseat配置文件 24 2 Hotseat构造函数 26 3 Hotseat加载数据 27 4 Hotseat绑定数据 27 5 Hotseat类 28 6 总结 30 六 页面滑动 PagedView 30 七 AllApp全部应用列表 AppsCustomizeTabHost 38 1 AllApp列表配置文件 38 2 AppsCustomizeTabHost分析 40 3 Tab变化时执行onTabChanged 41 八 AllApp界面拖拽元素 42 1 触摸拦截 43 2 handleTouchEvent方法 43 4 拖曳按钮 44 九 Launcher启动APP流程 45 1 WorkSpace触摸 45 2 CellLayout的onInterceptTouchEvent 方法 46 3 WorkSpace的onTouch 事件 47 4 BubbleTextView 48 5 onClick 方法 49 6 总结 50 1 常用类介绍 50 2 Launcher的数据库 51">一 Launcher默认界面配置(default workspace) 2 1 界面默认配置文件 2 2 LauncherProvider java的loadFavorites分析 3 二 Icon修改 界面布局调整 壁纸设置 5 1 图标大小和标题大小 5 2 Launcher 图标加入默认背景 6 3 更换Launcher默认壁纸 7 [更多]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值