Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android如何創建桌面快捷方式

Android如何創建桌面快捷方式

編輯:關於Android編程

Android創建桌面的快捷方式
概述 :創建桌面快捷方式相當與創建一個程序的入口,就像我們程序在安裝完畢後會自動創建一個圖標到桌面。其實創建桌面快捷方式跟創建一個程序入口差不多,但是像QQ會話一樣創建一個QQ好友的會話快捷方式,就得動態的創建圖標,名字了。

1.首先權限是必不可少的

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

2.然後就是在你項目配置文件裡面配置

 <activity
      android:name="com.easemob.chatuidemo.activity.ChatActivity" >
      <intent-filter>
        <category android:name="android.intent.category.LAUNCHER" />
        <action android:name="android.intent.action.CREATE_SHORTCUT" />
      </intent-filter>
  </activity>

這個actvity即為你要快捷方式點擊後跳轉的那一個activity

3.然後就是你要創建快捷方式的方法。

代碼如下:

 public void CreateShotCut(final Context context, final Class<?> clazz,
      final String name, final String image) {

    Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
    // 加入action,和category之後,程序卸載的時候才會主動將該快捷方式也卸載
    shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    shortcutIntent.setClass(context, clazz);
    /**
     * 創建一個Bundle對象讓其保存將要傳遞的值
     */
    Bundle bundle = new Bundle();
    bundle.putString("userId", userId);
    shortcutIntent.putExtras(bundle);
    /**
     * 設置這條屬性,可以使點擊快捷方式後關閉其他的任務棧的其他activity,然後創建指定的acticity
     */
    shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    // 創建快捷方式的Intent
    Intent shortcut = new Intent(Intent.ACTION_CREATE_SHORTCUT);
    // 不允許重復創建
    shortcut.putExtra("duplicate", false);
    // 點擊快捷圖片,運行的程序主入口
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    // 需要現實的名稱
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);

    // 快捷圖片
    Parcelable icon = Intent.ShortcutIconResource.fromContext(
        getApplicationContext(), R.drawable.ic_launcher);
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
    shortcut.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    context.sendBroadcast(shortcut);
  }

這行代碼的重要性就在如果沒有這一行,那麼在你點擊這個快捷方式,跳轉的時候就會直接跳到這個應用的棧頂(如果指定的activity在棧頂,也不會跳轉其上而是銷毀)而不是指定的那一個Activity(剛開始沒加這條屬性的時候,一直跳轉不到指定的activity上)。

shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

如果想要動態的添加圖片即創建快捷方式的時候獲取網路上的圖片來進行設置其快捷圖片則使用

 // Intent.EXTRA_SHORTCUT_ICON 是bitmap對象
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON,bitmap);

這行代碼,你可以請求網路圖片後轉換為BitMap後設置進去。

ok動態的創建快捷方式就這樣完成了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved