溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫此文的意義!!!煩請您在轉(zhuǎn)載時(shí)注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫此文的意義!!!煩請您在轉(zhuǎn)載時(shí)注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

           

          package com.shortcut;
          import android.app.Activity;
          import android.content.ContentResolver;
          import android.content.Intent;
          import android.content.Intent.ShortcutIconResource;
          import android.database.Cursor;
          import android.net.Uri;
          import android.os.Bundle;

          public class AddShortCutActivity extends Activity {
              @Override
              
          public void onCreate(Bundle savedInstanceState) {
                  
          super.onCreate(savedInstanceState);
                  setContentView(R.layout.main);
                  
          boolean flag = IfaddShortCut();// 如果已經(jīng)創(chuàng)建,則不需要在創(chuàng)建
                  if (flag == false{
                      addShortCut();
                  }

              }


              
          public void addShortCut() {
                  Intent shortcut 
          = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
                  
          // 設(shè)置屬性
                  shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,getResources().getString(R.string.app_name));
                  ShortcutIconResource iconRes 
          = Intent.ShortcutIconResource.fromContext(AddShortCutActivity.this, R.drawable.ic_launcher);
                  shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON, iconRes);

                  
          // 是否允許重復(fù)創(chuàng)建
                  shortcut.putExtra("duplicate"false);
                  Intent intent 
          = new Intent(Intent.ACTION_MAIN);
                  intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
                  intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
                  intent.addCategory(Intent.CATEGORY_LAUNCHER);
                  intent.setClass(AddShortCutActivity.
          this, AddShortCutActivity.class);
                  
          // 設(shè)置啟動(dòng)程序
                  System.out.println("createIcon");
                  shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
                  AddShortCutActivity.
          this.sendBroadcast(shortcut);
              }


              
          public boolean IfaddShortCut() {
                  
          boolean isInstallShortcut = false;
                  
          final ContentResolver cr = AddShortCutActivity.this.getContentResolver();
                  
          // 本人的2.2系統(tǒng)是”com.android.launcher2.settings”,網(wǎng)上見其他的為"com.android.launcher.settings"
                  final String AUTHORITY = "com.android.launcher2.settings";
                  
          final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/favorites?notify=true");
                  Cursor c 
          = cr.query(CONTENT_URI,
                          
          new String[] "title""iconResource" }"title=?",
                          
          new String[] { getString(R.string.app_name) }null);
                  
          if (c != null && c.getCount() > 0{
                      isInstallShortcut 
          = true;
                  }

                  
          return isInstallShortcut;
              }

          }

           

          <?xml version="1.0" encoding="utf-8"?>
          <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package
          ="com.shortcut"
              android:versionCode
          ="1"
              android:versionName
          ="1.0" >

              
          <uses-sdk android:minSdkVersion="8" />

              
          <application
                  
          android:icon="@drawable/ic_launcher"
                  android:label
          ="@string/app_name" >
                  
          <activity
                      
          android:label="@string/app_name"
                      android:name
          =".AddShortCutActivity" >
                      
          <intent-filter >
                          
          <action android:name="android.intent.action.MAIN" />
                          
          <category android:name="android.intent.category.LAUNCHER" />
                      
          </intent-filter>
                      
          <intent-filter>  
                          
          <action android:name="android.intent.action.CREATE_SHORTCUT"></action>  
                      
          </intent-filter>  
                  
          </activity>
              
          </application>
              
          <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>   
              
          <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>  
          </manifest>

           

          Android Shortcut操作(一)
          http://www.eoeandroid.com/thread-92125-1-1.html

           Android Shortcut操作(二)
          http://www.eoeandroid.com/thread-92128-1-1.html
          posted on 2012-04-01 13:34 雪山飛鵠 閱讀(1950) 評論(1)  編輯  收藏 所屬分類: android

          Feedback

          # re: Android之快捷方式[未登錄] 2012-06-26 17:57 william
          怎么判斷是否添加shortcut,大哥,您的方法貌似不管用 !  回復(fù)  更多評論
            

          主站蜘蛛池模板: 富川| 贵德县| 冀州市| 绥德县| 沁阳市| 冕宁县| 揭西县| 漠河县| 屏东市| 南充市| 宝鸡市| 瑞昌市| 红河县| 灌云县| 营山县| 临桂县| 永昌县| 辽宁省| 贵阳市| 新和县| 库车县| 盐池县| 莱芜市| 涟水县| 忻州市| 乌拉特前旗| 甘孜县| 湘潭县| 泰安市| 乌兰察布市| 沙湾县| 衡阳县| 台山市| 闽清县| 安康市| 吉林市| 鹤庆县| 西贡区| 古田县| 九龙县| 富宁县|