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

          雪山飛鵠

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

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            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();// 如果已經創建,則不需要在創建
                  if (flag == false{
                      addShortCut();
                  }

              }


              
          public void addShortCut() {
                  Intent shortcut 
          = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
                  
          // 設置屬性
                  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);

                  
          // 是否允許重復創建
                  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);
                  
          // 設置啟動程序
                  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系統是”com.android.launcher2.settings”,網上見其他的為"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 雪山飛鵠 閱讀(1961) 評論(1)  編輯  收藏 所屬分類: android

          Feedback

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

          主站蜘蛛池模板: 汝南县| 虞城县| 承德市| 靖江市| 鹿邑县| 宁远县| 抚州市| 梁河县| 鹤壁市| 武威市| 日照市| 贵州省| 昌平区| 宝应县| 仪征市| 当阳市| 龙川县| 永德县| 泾源县| 津南区| 盐池县| 西乡县| 屯门区| 万源市| 台山市| 兖州市| 兰溪市| 辽宁省| 仙居县| 玉环县| 临泽县| 华容县| 克东县| 尚义县| 西林县| 绥中县| 兴安县| 东乡族自治县| 丹棱县| 金湖县| 瓮安县|