預覽效果圖:
需要許可權:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
設定檔:AndroidManifest.xml
<activityandroid:name="com.myself.news.activity.GuideActivity"android:label="@string/title_activity_guide" ><intent-filter><action android:name="com.myself.news.ACTION_HOME" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>
在應用的閃屏頁面Activity的 oncreate方法調用 installShortcut();
代碼:
// 建立捷徑// com.android.launcher.permission.INSTALL_SHORTCUTprivate void installShortcut() {// 判斷有沒有建立過捷徑boolean isCreated = SharedPreferencesUtils.getBoolean(this,GlobalConstantsUtils.PREF_IS_SHORTCUT_INTALLED, false);// 判斷是否已經建立過if (!isCreated) {// 發廣播Intent intent = new Intent();intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");// 表徵圖// 根據資源檔id產生Bitmap對象intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));// 名稱intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "手機安全衛士");// 動作Intent actionIntent = new Intent();// 跳到首頁面actionIntent.setAction(GlobalConstantsUtils.ACTION_HOME);intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, actionIntent);sendBroadcast(intent);// 標記已經建立過捷徑,下次不再建立SharedPreferencesUtils.setBoolean(this,GlobalConstantsUtils.PREF_IS_SHORTCUT_INTALLED, true);}}
常量工具類GlobalConstantsUtils:
public static final String PREF_IS_SHORTCUT_INTALLED = "is_shortcut_intalled";// 是否已經建立捷徑 public static final String ACTION_HOME = "com.myself.news.ACTION_HOME";// 跳轉到首頁面的ACTION