Android Create Shortcut 桌面 快捷方式 圖標

Add permission:html

[html]   view plain copy
<EMBED id=ZeroClipboardMovie_1 height=18 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=1&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
  1. <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>  
  2. <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>  

Code:java

[java]   view plain copy
<EMBED id=ZeroClipboardMovie_2 height=18 name=ZeroClipboardMovie_2 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=2&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
  1. private void setUpShortCut() {  
  2.   
  3.         Intent intent = new Intent(CREATE_SHORTCUT_ACTION);  
  4.   
  5.         // 設置快捷方式圖片  
  6.         intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(this, R.drawable.logo));  
  7.   
  8.         // 設置快捷方式名稱  
  9.         intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "sina");  
  10.   
  11.         // 設置是否容許重複建立快捷方式 false表示不容許  
  12.         intent.putExtra("duplicate"false);  
  13.           
  14.         // 設置快捷方式要打開的intent  
  15.         // 第一種方法建立快捷方式要打開的目標intent  
  16.         Intent targetIntent = new Intent();  
  17.         // 設置應用程序卸載時同時也刪除桌面快捷方式  
  18.         targetIntent.setAction(Intent.ACTION_MAIN);  
  19.         targetIntent.addCategory("android.intent.category.LAUNCHER");  
  20.           
  21.         ComponentName componentName = new ComponentName(getPackageName(), this.getClass().getName());  
  22.         targetIntent.setComponent(componentName);  
  23.           
  24.         // 第二種方法建立快捷方式要打開的目標intent  
  25.           
  26.         intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, targetIntent);  
  27.   
  28.         // 發送廣播  
  29.         sendBroadcast(intent);  
  30. }  
  31.   
  32.       
  33.     private void tearDownShortCut() {  
  34.   
  35.         Intent intent = new Intent(DROP_SHORTCUT_ACTION);  
  36.         // 指定要刪除的shortcut名稱  
  37.         intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "sina");  
  38.   
  39.         String appClass = getPackageName() + "." + this.getLocalClassName();  
  40.   
  41.         ComponentName component = new ComponentName(getPackageName(), appClass);  
  42.         intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent().setAction(Intent.ACTION_MAIN).setComponent(component));  
  43.         sendBroadcast(intent);  
  44.   
  45. }  
 

Or:android

[java]   view plain copy
<EMBED id=ZeroClipboardMovie_3 height=18 name=ZeroClipboardMovie_3 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=3&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
  1. if (Intent.ACTION_CREATE_SHORTCUT.equals(action))  
  2. {  
  3.  setupShortcut();  
  4.  finish();  
  5.  return;  
  6. }  
  7.    
  8. ...  
  9. private void setupShortcut() {  
  10.  // First, set up the shortcut intent.  
  11.  //For this example, we simply create an intent that  
  12.  // will bring us directly back to this activity.  
  13.  //A more typical implementation would use a  
  14.  // data Uri in order to display a more specific result,  
  15.  //or a custom action in order to  
  16.  // launch a specific operation.  
  17.    
  18.  Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);  
  19.  shortcutIntent.setClassName(thisthis.getClass().getName());  
  20.  shortcutIntent.putExtra(EXTRA_KEY, "ApiDemos Provided This Shortcut");  
  21.    
  22.  // Then, set up the container intent (the response to the caller)  
  23.    
  24.  Intent intent = new Intent();  
  25.  intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);  
  26.  intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcut_name));  
  27.  Parcelable iconResource = Intent.ShortcutIconResource.fromContext(  
  28.  this,  R.drawable.app_sample_code);  
  29.  intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);  
  30.    
  31.  // Now, return the result to the launcher  
  32.    
  33.  setResult(RESULT_OK, intent);  
  34. }  



相關文章
相關標籤/搜索