建立案頭捷徑

來源:互聯網
上載者:User

添加案頭捷徑,非常簡單,只需三步: 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>   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.