1. /** 
  2.  * 创建快捷方式到Shortcut列表<br> 
  3.  * 关联程序的<intent-filter>中添加:<actionandroid:name="android.intent.action.CREATE_SHORTCUT"/> 
  4.  */ 
  5. private void addShortcutToOptions() { 
  6.     Intent shortcut = new Intent(Intent.ACTION_CREATE_SHORTCUT); 
  7.     // 不允许重建 
  8.     shortcut.putExtra("duplicate"false); 
  9.     // 设置名字 
  10.     shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, 
  11.             this.getString(R.string.app_name)); 
  12.     // 设置图标 
  13.     shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, 
  14.             Intent.ShortcutIconResource.fromContext(this
  15.                     R.drawable.ic_launcher)); 
  16.     // 设置意图和快捷方式关联的程序 
  17.     shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, 
  18.             new Intent(thisthis.getClass())); 
  19.     // 发送消息队列 
  20.     setResult(RESULT_OK, shortcut); 
  21.  
  22. /** 
  23.  * 添加快捷方式到桌面 要点:  
  24.  * 1.给Intent指定action="com.android.launcher.INSTALL_SHORTCUT" 
  25.  * 2.给定义为Intent.EXTRA_SHORTCUT_INENT的Intent设置与安装时一致的action(必须要有)  
  26.  * 3.添加权限:com.android.launcher.permission.INSTALL_SHORTCUT 
  27.  */ 
  28. private void addShortcutToDesktop() { 
  29.     Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); 
  30.     // 不允许重建 
  31.     shortcut.putExtra("duplicate"false); 
  32.     // 设置名字 
  33.     shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,this.getString(R.string.app_name)); 
  34.     // 设置图标 
  35.     shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(this
  36.                     R.drawable.ic_launcher)); 
  37.     // 设置意图和快捷方式关联程序 
  38.     shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent(thisthis.getClass()).setAction(Intent.ACTION_MAIN)); 
  39.     // 发送消息 
  40.     sendBroadcast(shortcut); 
  41.  
  42. /** 
  43.  * 添加权限:<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/> 
  44.  *  
  45.  * @return 
  46.  */ 
  47. private boolean hasInstallShortcut() { 
  48.     boolean hasInstall = false
  49.     final String AUTHORITY = "com.android.launcher.settings"
  50.     Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY 
  51.             + "/favorites?notify=true"); 
  52.     Cursor cursor = this.getContentResolver().query(CONTENT_URI, 
  53.             new String[] { "title""iconResource" }, "title=?"
  54.             new String[] { this.getString(R.string.app_name) }, null); 
  55.     if (cursor != null && cursor.getCount() > 0) { 
  56.         hasInstall = true
  57.     } 
  58.     return hasInstall;