Android桌面新增快捷方式的實現

fengyuzhengfan的專欄發表於2014-09-05

對於一個希望擁有更多使用者的應用來說,使用者桌面可以說是所有軟體的必爭之地,如果使用者在手機桌面上建立了該軟體的快捷方式,使用者將會更頻繁地使用該軟體。因此,所有 Android程式都應該允許使用者把軟體的快捷方式新增到桌面上。

在程式中把一個軟體的快捷方式新增到桌面上,只需要如下三步即可:

1. 建立一個新增快捷方式的Intent該Intent的Action屬性值應該為com.android.launcher.action.INSTALLSHORTCUT,。

2. 通過為該Intent加Extra屬性來設定快捷方式的標題、圖示及快捷方式對應啟動的程式。

3. 呼叫sendBroadcast()方法傳送廣播即可新增快捷方式。

例項程式碼:

/**
 * 向桌面新增快捷方式
 * @author jph
 * Date:2014.09.05
 */
public class AddShortcut extends Activity {
	Button btnAddShortCut;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.mian);
		btnAddShortCut=(Button)findViewById(R.id.btnAddShortCut);
		btnAddShortCut.setOnClickListener(new OnClickListener() {			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//建立一個新增快捷方式的Intent
				Intent addSC=new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
				//快捷鍵的標題
				String title=getResources().getString(R.string.shotcut_title);
				//快捷鍵的圖示
				Parcelable icon=Intent.ShortcutIconResource.fromContext(
						AddShortcut.this, R.drawable.ic_launcher);
				//建立單擊快捷鍵啟動本程式的Intent
				Intent launcherIntent=new Intent(AddShortcut.this, AddShortcut.class);
				//設定快捷鍵的標題
				addSC.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
				//設定快捷鍵的圖示
				addSC.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
				//設定單擊此快捷鍵啟動的程式
				addSC.putExtra(Intent.EXTRA_SHORTCUT_INTENT,launcherIntent);
				//向系統傳送新增快捷鍵的廣播
				sendBroadcast(addSC);
			}
		});
	}
}

最後為應用程式建立快捷鍵新增許可權:

<!-- 指定新增安裝快捷方式的許可權 -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

相關文章