今天學(xué)習(xí)了一下快捷方式的創(chuàng)建和刪除(ShortCut)我們可以通過(guò)兩種方式創(chuàng)建快捷方式
(一):使用一個(gè)Activity,然后在Home界面點(diǎn)擊Menu->添加->選擇快捷方式->選擇創(chuàng)建的應(yīng)用程序的快捷方式,看如下的效果:
創(chuàng)建步驟如下:
①:在Androidmanifset.xml文件中注冊(cè)Activity
②:在IntentFiler標(biāo)簽下面加入<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();
- //設(shè)置快捷方式的名字
- _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
- "jiangqq ShortCut");
- //設(shè)置快捷方式的圖標(biāo)
- _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"));
- //當(dāng)快捷方式創(chuàng)建完成之后,點(diǎn)擊圖標(biāo)跳轉(zhuǎn)到撥打撥打電話的頁(yè)面
- _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
- this, LauncherActivity.class));
- //設(shè)置返回值,一般是OK,
- setResult(RESULT_OK, _ReturnIntent);
- finish();
- }
- }
(二)使用發(fā)送廣播來(lái)進(jìn)行創(chuàng)建快捷方式:該demo例子實(shí)現(xiàn)的功能是:在界面有一個(gè)按鈕,點(diǎn)擊按鈕生成一個(gè)快捷方式,然后點(diǎn)擊快捷方式進(jìn)入撥打電話的頁(yè)面;
生成步驟如下:
1:如下權(quán)限: <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
2:在Activity中new一個(gè)Intent加入Action:
_Intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
3:其他核心代碼如下:
- Intent _ReturnIntent = new Intent();
- // 設(shè)置創(chuàng)建快捷方式的過(guò)濾器action
- _ReturnIntent
- .setAction("com.android.launcher.action.INSTALL_SHORTCUT");
- // 設(shè)置生成的快捷方式的名字
- _ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
- "Broad ShortCut");
- // 設(shè)置生成的快捷方式的圖標(biāo)
- _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);
- // 發(fā)送廣播生成快捷方式
- sendBroadcast(_ReturnIntent);
- LauncherActivity.this.finish();
- }
當(dāng)然上面要加入撥打電話的權(quán)限:
<uses-permission android:name="android.permission.CALL_PHONE" />
如果我們想要卸載快捷方式,需要在布局文件中加入權(quán)限
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
然后intent中傳入 com.android.launcher.permission.UNINSTALL_SHORTCUT
其他的設(shè)置要?jiǎng)h除的快捷方式的名字要相同,其他的代碼都差不多,同樣可以通過(guò)發(fā)送廣播來(lái)卸載快捷方式.....
上面是我一些對(duì)于ShortCut創(chuàng)建和卸載的小總結(jié),有興趣可以和我一起交流學(xué)習(xí),如果上面寫(xiě)到有不當(dāng)之處,希望能夠留言給我提出建議,謝謝
|