對于一個希望擁有更多用戶的應(yīng)用來說,用戶桌面可以說是所有軟件的必爭之地,如果用戶在手機桌面上建立了該軟件的快捷方式,用戶將會更頻繁地使用該軟件。因此,所有 Android程序都應(yīng)該允許用戶把軟件的快捷方式添加到桌面上。
在程序中把一個軟件的快捷方式添加到桌面上,只需要如下三步即可:
1. 創(chuàng)建一個添加快捷方式的Intent該Intent的Action屬性值應(yīng)該為com.android.launcher.action.INSTALLSHORTCUT,。
2. 通過為該Intent加Extra屬性來設(shè)置快捷方式的標題、圖標及快捷方式對應(yīng)啟動的程序。
3. 調(diào)用sendBroadcast()方法發(fā)送廣播即可添加快捷方式。
實例代碼:
/**
* 向桌面添加快捷方式
* @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
//創(chuàng)建一個添加快捷方式的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);
//創(chuàng)建單擊快捷鍵啟動本程序的Intent
Intent launcherIntent=new Intent(AddShortcut.this, AddShortcut.class);
//設(shè)置快捷鍵的標題
addSC.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
//設(shè)置快捷鍵的圖標
addSC.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//設(shè)置單擊此快捷鍵啟動的程序
addSC.putExtra(Intent.EXTRA_SHORTCUT_INTENT,launcherIntent);
//向系統(tǒng)發(fā)送添加快捷鍵的廣播
sendBroadcast(addSC);
}
});
}
}
最后為應(yīng)用程序創(chuàng)建快捷鍵添加權(quán)限:
<!-- 指定添加安裝快捷方式的權(quán)限 -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />