1、定义bean对象。
public class Shortcut {
 public final long id;
 public final String title;
 public final String intent;
 public final String iconResource;
 
 public Shortcut(long id, String title, String intent, String iconResource) {
  this.id = id;
  this.title = title;
  this.intent = intent;
  this.iconResource = iconResource;
 }
 
 public long getId() {
  return id;
 }
 public String getTitle() {
  return title;
 }
 public String getIntent() {
  return intent;
 }
 public String getIconResource() {
  return iconResource;
 }
 
 public String toString() {
  return "id:" + id + ",title:" + title + ",intent:" + intent + ",icon:" + iconResource;
 }
}
 
2、定义dao类。
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
public class ShortcutDao {
 private ContentResolver contentResolver;
 private Uri uri = Uri.parse("content://com.android.launcher.settings/favorites?notify=true");
 private String[] columns = new String[]{"_id", "title", "intent", "iconResource"};
 
 public ShortcutDao(ContentResolver contentResolver){
  this.contentResolver = contentResolver;
 }
 
  public Shortcut getShortcut(String appName, String intent){
     String whereQuery = "title=? and intent like ?";
     String[] whereParams = new String[]{appName, "%"+intent+"%"};
     Cursor c = contentResolver.query(uri, columns, whereQuery, whereParams, null);
    
     try {
      c.moveToFirst();
            if (c.isAfterLast()){
                return null;
            }else{
             return new Shortcut(c.getLong(0), c.getString(1), c.getString(2), c.getString(3));
            }
        } finally {
         c.close();
        }
    }
    public void updateShortcut(long id, String icon){
     ContentValues values = new ContentValues();
        values.put("iconResource", icon);
        contentResolver.update(uri, values, "_id=?", new String[]{String.valueOf(id)});
    }

    public void updateShortcut(long id, String icon, String iconPackage){
     ContentValues values = new ContentValues();
        values.put("iconResource", icon);
        values.put("iconPackage", iconPackage);
        values.put("itemType", 1);
        contentResolver.update(uri, values, "_id=?", new String[]{String.valueOf(id)});
    }
}
 
3、添加下面这些权限。

 
 
 
 

更多相关文章

  1. Android权限申请:自带方法 + 第三方库实现
  2. (转)Android设置选项开发及自定义Preference样式
  3. 【Android】自定义ImageView高度自适应,宽度成比例缩放
  4. Android的读写文件及权限设置
  5. Android - Toast自定义显示时间,以及时长
  6. android 自定义返回按钮
  7. 自定义ListView3
  8. android listView 自定义布局结合CheckedTextView实现多选

随机推荐

  1. Android(安卓)绘图基础:Bitmap(位图)与Matri
  2. Android 如何自己定义控件的样式 Shape
  3. android之sqliteDatabase,sqliteOpenHelp
  4. Android底层启动解析
  5. flappy bird游戏源代码揭秘和下载后续---
  6. Android用户空间的处理及移植需要注意的
  7. android与linux内核对比--《Android系统
  8. Android多进程总结一:生成多进程(android
  9. Android进阶(十)Android 发邮件
  10. Android中的13种Drawable小结