创建桌面图标和删除桌面图标 android

第一步:设置文件添加权限:

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

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

第二步:

<activity android:name=".AddShortCutActivity"
            android:label="@string/app_name">
      <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>
<intent-filter>
          <action android:name="android.intent.action.UNINSTALL_SHORTCUT"></action>
      </intent-filter>
  </activity>

第三步:

创建图标:

public static void createShortCut(Context context) {
final Intent addIntent = new Intent(
"com.android.launcher.action.INSTALL_SHORTCUT");
final Parcelable icon = Intent.ShortcutIconResource.fromContext(
context, R.drawable.ic_launcher); // 获取快捷键的图标
addIntent.putExtra("duplicate", false);
final Intent myIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
context.getString(R.string.addnewdiary));// 快捷方式的标题
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);// 快捷方式的图标
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);// 快捷方式的动作
context.sendBroadcast(addIntent);
}
删除图标
private void delShortcut(Context context) {
Intent shortcut = new Intent(
"com.android.launcher.action.UNINSTALL_SHORTCUT");

// 快捷方式的名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,
getString(R.string.app_name));

// 指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
// 这里必须为Intent设置一个action,可以任意(但安装和卸载时该参数必须一致)
String action = "com.android.action.test";
// Intent respondIntent = new Intent(context, this.getClass());
// respondIntent.setAction(action);
// shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, respondIntent);

// 下面的方法与上面的效果是一样的,另一种构建形式而已
// 注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
String appClass = getActivity().getApplication().getPackageName() + "."
+ getActivity().getLocalClassName();
ComponentName comp = new ComponentName(getActivity().getApplication()
.getPackageName(), appClass);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
new Intent(action).setComponent(comp));
context.sendBroadcast(shortcut);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值