今天学习了一下快捷方式的创建和删除(ShortCut)我们可以通过两种方式创建快捷方式

(一):使用一个Activity,然后在Home界面点击Menu->添加->选择快捷方式->选择创建的应用程序的快捷方式,看如下的效果:Android中快捷方式的创建和删除(ShortCut)_classAndroid中快捷方式的创建和删除(ShortCut)_android_02

     创建步骤如下:

①:在Androidmanifset.xml文件中注册Activity

②:在IntentFiler标签下面加入<action/>

  Android中快捷方式的创建和删除(ShortCut)_class_03

 看下Activity中的核心代码:

public class ShortCutSample extends Activity { 	@Override 	protected void onCreate(Bundle savedInstanceState) { 		// TODO Auto-generated method stub 		super.onCreate(savedInstanceState); 		if (getIntent().getAction().equals( 				"android.intent.action.CREATE_SHORTCUT")) { 			Intent _ReturnIntent = new Intent(); 			//设置快捷方式的名字 			_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, 					"jiangqq ShortCut"); 			//设置快捷方式的图标 			_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, 					Intent.ShortcutIconResource.fromContext(this, 							R.drawable.ic_launcher)); 			Intent _Intent=new Intent(Intent.ACTION_CALL); 			_Intent.setData(Uri.parse("tel://10086")); 			//当快捷方式创建完成之后,点击图标跳转到拨打拨打电话的页面 			_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent( 					this, LauncherActivity.class)); 			//设置返回值,一般是OK, 			setResult(RESULT_OK, _ReturnIntent); 			finish(); 		} 	}



(二)使用发送广播来进行创建快捷方式:该demo例子实现的功能是:在界面有一个按钮,点击按钮生成一个快捷方式,然后点击快捷方式进入拨打电话的页面;

 生成步骤如下:

1:如下权限: <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

2:在Activity中new一个Intent加入Action:

   _Intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

3:其他核心代码如下:

	Intent _ReturnIntent = new Intent(); 				// 设置创建快捷方式的过滤器action 				_ReturnIntent 						.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); 				// 设置生成的快捷方式的名字 				_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, 						"Broad ShortCut"); 				// 设置生成的快捷方式的图标 				_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, 						Intent.ShortcutIconResource.fromContext( 								LauncherActivity.this, R.drawable.ic_launcher)); 				Intent _Intent = new Intent(Intent.ACTION_CALL); 				_Intent.setData(Uri.parse("tel://5556")); 				_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, _Intent); 				// 发送广播生成快捷方式 				sendBroadcast(_ReturnIntent); 				LauncherActivity.this.finish(); 			}
    当然上面要加入拨打电话的权限:

   <uses-permission android:name="android.permission.CALL_PHONE" />


如果我们想要卸载快捷方式,需要在布局文件中加入权限 

<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>

然后intent中传入 com.android.launcher.permission.UNINSTALL_SHORTCUT

其他的设置要删除的快捷方式的名字要相同,其他的代码都差不多,同样可以通过发送广播来卸载快捷方式.....



上面是我一些对于ShortCut创建和卸载的小总结,有兴趣可以和我一起交流学习,如果上面写到有不当之处,希望能够留言给我提出建议,谢谢