(8)Launcher3客制化之ContentProvider内容提供者,实现其它应用改动数据库更新等操作
首先加入两个权限
<uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS"/>
 <uses-permission android:name="com.android.launcher3.permission.WRITE_SETTINGS"/>
这两个是改动 桌面的数据库的权限
不加入就改动不了哦
直接通过内容提供者获取数据,
	static ArrayList<ShortcutInfo> getItemsInLocalCoordinates(Context context) {
        ArrayList<ShortcutInfo> items = new ArrayList<ShortcutInfo>();
        final ContentResolver cr = context.getContentResolver();
        Cursor c = cr.query(LauncherSettings.Favorites.CONTENT_URI, new String[] {
                LauncherSettings.Favorites.ITEM_TYPE, LauncherSettings.Favorites.CONTAINER,
                LauncherSettings.Favorites.SCREEN, LauncherSettings.Favorites.CELLX, LauncherSettings.Favorites.CELLY,
                LauncherSettings.Favorites.SPANX, LauncherSettings.Favorites.SPANY ,LauncherSettings.Favorites.TITLE,LauncherSettings.Favorites.INTENT}, null, null, null);
        final int itemTypeIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.ITEM_TYPE);
        final int containerIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CONTAINER);
        final int screenIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.SCREEN);
        final int cellXIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CELLX);
        final int cellYIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.CELLY);
        final int spanXIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.SPANX);
        final int spanYIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.SPANY);
        final int titleIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.TITLE);
        final int intenIndex = c.getColumnIndexOrThrow(LauncherSettings.Favorites.INTENT);
        try {
            while (c.moveToNext()) {
            	ShortcutInfo item = new ShortcutInfo();
                item.cellX = c.getInt(cellXIndex);
                item.cellY = c.getInt(cellYIndex);
                item.spanX = Math.max(1, c.getInt(spanXIndex));
                item.spanY = Math.max(1, c.getInt(spanYIndex));
                item.container = c.getInt(containerIndex);
                item.itemType = c.getInt(itemTypeIndex);
                item.screenId = c.getInt(screenIndex);
                item.title=c.getString(titleIndex);
                if(c.getString(intenIndex)!=null){
                	 item.intent=new Intent(c.getString(intenIndex));
                }
                items.add(item);
            }
        } catch (Exception e) {
            items.clear();
        } finally {
            c.close();
        }
        return items;
    }
改动内容同理通过对于的URL进行改动。
详细我就不进行代码编写了。
(8)Launcher3客制化之ContentProvider内容提供者,实现其它应用改动数据库更新等操作的更多相关文章
- (7)Launcher3客制化之,改动单屏幕后,Fix在Hotseat拖动应用删除报错
		改动单屏幕后,在workspace里面拖动图标.到删除button上松开的时候,报错问题. 而且无法再次显示拖动的图标. 拖动松开手时候触发 public void onDropCompleted(f ... 
- Dynamics AX 2012 R2 客制化RDP报表参数对话框
		当我们在使用RDP报表时,AX会根据Data Contract,自动生成报表参数对话框上的字段控件.一般情况下,该对话框能够满足我们的需求,但是如果有较为复杂或特殊的需求,就要我们对该对话框进行客制化 ... 
- BEvent_客制化BusinessEvent通过PLSQL Procedurer接受消息传递(案例)
		2014-06-27 Created By BaoXinjian 
- Form_通过Zoom客制化跳转页面功能(案例)
		2012-09-08 Created By BaoXinjian 
- 转:FORM:客制化Form的菜单栏和右鍵菜單
		Oracle EBS还允许客制化Form的菜单栏. 用户最多可以定义45个form-level的trigger,名称必须为SPECIALn, 其中SPECIAL1 to SPECIAL15属于Tool ... 
- Android MTK6580 客制化关机充电动画
		1.客制化关机充电图片 vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/xxx 找到对应分辨率替换 2.调整显示图片位置.大小 ... 
- Android组件系列----ContentProvider内容提供者
		[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ... 
- android 53 ContentProvider内容提供者
		ContentProvider内容提供者:像是一个中间件一样,一个媒介一样,可以以标准的增删改差操作对手机的文件.数据库进行增删改差.通过ContentProvider查找sd卡的音频文件,可以提供标 ... 
- contentProvider内容提供者
		contentProvider内容提供者 15. 四 / android基础 / 没有评论 步骤 权限在application中注册 Source code <provider an ... 
随机推荐
- js library
			jquery.js prototype.js requirejs.js backbone.js modernizr.js knockout.js http://share.renren.com/sha ... 
- 《暗黑世界GM管理后台系统》部署+功能说明
			原地址:http://blog.csdn.net/uxqclm/article/details/11969761 欢迎来到9秒:www.9miao.com 暗黑三国管理后台说明文档 (一)功能描述该后 ... 
- HDU3362+状态压缩
			dp[ i ]表示该状态下得所需花费. /* 状态压缩dp dp[i] = min( dp[ i-j ]+cost[ j ] ); 由i-j的状态转到i的状态 */ #include<stdio ... 
- 【无聊放个模板系列】POJ2752 EXKMP
			#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ... 
- easyui源码翻译1.32--SplitButton(分割按钮)
			前言 扩展自$.fn.linkbutton.defaults.用于$.fn.splitbutton.defaults重写默认值对象.下载该插件翻译源码 类似菜单按钮,分割按钮也与linkbutton和 ... 
- Git push错误non-fast-forward后的冲突解决
			当要push代码到git时,出现提示: error:failed to push some refs to ... Dealing with “non-fast-forward” errorsFrom ... 
- EventLog实现事件日志操作
			选中”我的电脑”,在其右键菜单中选择“管理”,在打开的对话框中包括了如下图所示的“日志”信息: 选中其中的某一条日志,可以看到如下的详细信息: 我们应该如何通过写代码的方式向其中添加“日志”呢? 在操 ... 
- C#中的ODBC、OLEDB连接
			using System;using System.Collections.Generic;using System.Text;using System.Data.Odbc;using Syste ... 
- mybatis 应用参考
			1.例子中包含了 mybatis 的常用sql的写法2.动态sql 的应用3.存储过程的使用 http://takeme.iteye.com/blog/1732801 
- 【转】【教程】实现Virtualbox中的XP虚拟机和主机Win7之间的共享文件夹
			原文网址:http://www.crifan.com/add_share_folder_for_virtualbox_guest_xp_and_host_win7/ 已经实现了在主机Win7下,在Vi ... 
