zoukankan      html  css  js  c++  java
  • (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进行改动。

    详细我就不进行代码编写了。



  • 相关阅读:
    jsp获取一个对象和list对象
    request属性 request.getAttribute()
    Ajax注册表单用户名实时验证
    codeigniter 操作mysql的PHP代码--更新
    linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
    Android
    Jquery Jqprint—随着Jquery Jqprint实现网页打印
    SQL于DML(数据库操作语言)采用
    远程数据client交换器
    如何选择项目?
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5342666.html
Copyright © 2011-2022 走看看