添加案頭捷徑,非常簡單,只需三步: 1、建立一個添加捷徑的Intent,該Intent的Action為com.android.launcher.action.INSTALL_SHORTCUT。 2、通過為該Intent添加Extra屬性來設定捷徑的標題、表徵圖及捷徑對應啟動的程式。 3、調用sendBroadcast()方法發送廣播即可添加捷徑。 下面用一個簡單樣本來示範,在該應用程式中,只給出了添加案頭捷徑的內容,程式的具體應用無須給出,第一次安裝該程式後,會在案頭建立捷徑,以後不會再建立捷徑。代碼如下: Activity: [java] package com.home.activity; import com.example.testshortcut.R; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.os.Parcelable; import android.widget.Toast; public class TestShortcutActivity extends Activity { private SharedPreferences sp; private Editor editor; private int count = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 擷取SharedPreferences對象 sp = this.getSharedPreferences("testshortcut", MODE_PRIVATE); // 得到Editor對象 editor = sp.edit(); // 讀取SharedPreferences對象中鍵為count的值 int readCount = sp.getInt("count", 0); if (readCount > 0) { Toast.makeText(this, "捷徑已存在,不必再建立", Toast.LENGTH_LONG).show(); return; } // 建立添加捷徑的Intent Intent addIntent = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); // 捷徑的標題 String title = "我的應用程式"; // 載入捷徑表徵圖 Parcelable icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher); // 建立點擊捷徑後再次啟動的程式,這裡啟動自己 Intent myIntent = new Intent(this, TestShortcutActivity.class); // 設定捷徑的標題 addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, title); // 設定捷徑的表徵圖 addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); // 設定捷徑對應的Intent addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent); // 發送廣播添加捷徑 sendBroadcast(addIntent); // 把計數寫入檔案 editor.putInt("count", count); // 提交修改 editor.commit(); } } package com.home.activity; import com.example.testshortcut.R; import android.app.Activity;import android.content.Intent;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.os.Parcelable;import android.widget.Toast; public class TestShortcutActivity extends Activity {private SharedPreferences sp;private Editor editor;private int count = 1; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 擷取SharedPreferences對象sp = this.getSharedPreferences("testshortcut", MODE_PRIVATE);// 得到Editor對象editor = sp.edit();// 讀取SharedPreferences對象中鍵為count的值int readCount = sp.getInt("count", 0);if (readCount > 0) {Toast.makeText(this, "捷徑已存在,不必再建立", Toast.LENGTH_LONG).show();return;}// 建立添加捷徑的IntentIntent addIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");// 捷徑的標題String title = "我的應用程式";// 載入捷徑表徵圖Parcelable icon = Intent.ShortcutIconResource.fromContext(this,R.drawable.ic_launcher);// 建立點擊捷徑後再次啟動的程式,這裡啟動自己Intent myIntent = new Intent(this, TestShortcutActivity.class);// 設定捷徑的標題addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);// 設定捷徑的表徵圖addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);// 設定捷徑對應的IntentaddIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);// 發送廣播添加捷徑sendBroadcast(addIntent);// 把計數寫入檔案editor.putInt("count", count);// 提交修改editor.commit();} }許可權: [html] <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>Activity配置: [html] <activity android:name="com.home.activity.TestShortcutActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <!-- 定義添加到案頭Launcher中 --> <intent-filter> <action android:name="android.intent.action.CREATE_SHORTCUT" /> </intent-filter> </activity> <activity android:name="com.home.activity.TestShortcutActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <!-- 定義添加到案頭Launcher中 --> <intent-filter> <action android:name="android.intent.action.CREATE_SHORTCUT" /> </intent-filter> </activity>