天天看點

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

    今天學習了一下快捷方式的建立和删除(ShortCut)我們可以通過兩種方式建立快捷方式

(一):使用一個Activity,然後在Home界面點選Menu->添加->選擇快捷方式->選擇建立的應用程式的快捷方式,看如下的效果:

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

     建立步驟如下:

①:在Androidmanifset.xml檔案中注冊Activity

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

Android中快捷方式的建立和删除(ShortCut)
 看下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建立和解除安裝的小總結,有興趣可以和我一起交流學習,如果上面寫到有不當之處,希望能夠留言給我提出建議,謝謝

繼續閱讀