今天学习了一下快捷方式的创建和删除(ShortCut)我们可以通过两种方式创建快捷方式
(一):使用一个Activity,然后在Home界面点击Menu->添加->选择快捷方式->选择创建的应用程序的快捷方式,看如下的效果:![](https://images.cnblogs.com/cnblogs_com/greatverve/2012031501.png)
创建步骤如下:
①:在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: