android添加桌面快捷方式
16lz
2021-01-23
封装类、直接放到项目中去就可以用
记在主配置文件添加权限
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
package com.hhj.namespace;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.os.Parcelable;public class Shortcut {private Context mContext;public Shortcut(Context mContext) {this.mContext = mContext;}/*第一个传的是在桌面上应用的名字,第二个是在桌面上的图标*/public void createShortcut(String shortcutName, int icon) {Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");Parcelable img = Intent.ShortcutIconResource.fromContext(mContext, icon);intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, shortcutName);intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, img);/*FdffActivity.class启动应用的类名 的启动类*/Intent sendToAct = new Intent(mContext, FdffActivity.class);sendToAct.setAction(Intent.ACTION_MAIN);sendToAct.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// sendToAct.putExtra("id", id);intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, sendToAct);mContext.sendBroadcast(intent);}// 删除快捷方式:public void deleteShortcut(String scName) {final String ACTION_UNINSTALL_SHORTCUT = "com.android.launcher.action.UNINSTALL_SHORTCUT";Intent intent = new Intent(ACTION_UNINSTALL_SHORTCUT);// scName是快捷方式的名字。intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, scName);// 第一个参数使用application里定义的包,第二个参数使用Activity里定义的名字,// 写完整的类名:包+类名。ComponentName comp = new ComponentName("synmin.app.shortcut","synmin.app.shortcut.ExeShortcutAct");intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent().setComponent(comp).setAction(Intent.ACTION_MAIN));mContext.sendBroadcast(intent);}}
更多相关文章
- Android自定义样式
- virtualbox 安装android设置分辨率(自定义)
- android创建自定义控件
- EditText自定义边框
- Android中attr自定义属性详解
- 关于android的animation的xml定义中的android:interpolator属性
- Android 自定义属性与xmlns
- Android Interface Definition Language (AIDL) android接口定义