Android中快捷方式的創建和刪除(ShortCut)


    今天學習了一下快捷方式的創建和刪除(ShortCut)我們可以通過兩種方式創建快捷方式

(一):使用一個Activity,然后在Home界面點擊Menu->添加->選擇快捷方式->選擇創建的應用程序的快捷方式,看如下的效果:

     創建步驟如下:

①:在Androidmanifset.xml文件中注冊Activity

②:在IntentFiler標簽下面加入<action/>


看下Activity中的核心代碼:
public  class ShortCutSample extends Activity {
    @Override
     protected  void onCreate(Bundle savedInstanceState) {
         //  TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
         if (getIntent().getAction().equals(
                 " android.intent.action.CREATE_SHORTCUT ")) {
            Intent _ReturnIntent =  new Intent();
             // 設置快捷方式的名字
            _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
                     " jiangqq ShortCut ");
             // 設置快捷方式的圖標
            _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                    Intent.ShortcutIconResource.fromContext( this,
                            R.drawable.ic_launcher));
            Intent _Intent= new Intent(Intent.ACTION_CALL);
            _Intent.setData(Uri.parse( " tel://10086 "));
             // 當快捷方式創建完成之后,點擊圖標跳轉到撥打撥打電話的頁面
            _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,  new Intent(
                     this, LauncherActivity. class));
             // 設置返回值,一般是OK,
            setResult(RESULT_OK, _ReturnIntent);
            finish();
        }
    }

(二)使用發送廣播來進行創建快捷方式:該demo例子實現的功能是:在界面有一個按鈕,點擊按鈕生成一個快捷方式,然后點擊快捷方式進入撥打電話的頁面;

 生成步驟如下:

1:如下權限: <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

2:在Activity中new一個Intent加入Action:

    _Intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

3:其他核心代碼如下:

    Intent _ReturnIntent =  new Intent();
                 //  設置創建快捷方式的過濾器action
                _ReturnIntent
                        .setAction("com.android.launcher.action.INSTALL_SHORTCUT");
                 //  設置生成的快捷方式的名字
                _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
                        "Broad ShortCut");
                 //  設置生成的快捷方式的圖標
                _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                        Intent.ShortcutIconResource.fromContext(
                                LauncherActivity. this, R.drawable.ic_launcher));
                Intent _Intent =  new Intent(Intent.ACTION_CALL);
                _Intent.setData(Uri.parse("tel://5556"));
                _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, _Intent);
                 //  發送廣播生成快捷方式
                sendBroadcast(_ReturnIntent);
                LauncherActivity. this.finish();
            }

   當然上面要加入撥打電話的權限:

   <uses-permission android:name="android.permission.CALL_PHONE" />


如果我們想要卸載快捷方式,需要在布局文件中加入權限 

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

然后intent中傳入 com.android.launcher.permission.UNINSTALL_SHORTCUT

其他的設置要刪除的快捷方式的名字要相同,其他的代碼都差不多,同樣可以通過發送廣播來卸載快捷方式.....

url: http://greatverve.cnblogs.com/archive/2012/03/15/android-shutcut.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM