微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > android 创建 删除桌面快捷方式

android 创建 删除桌面快捷方式

时间:10-08 来源:互联网 点击:

创建

/**

为程序创建桌面快捷方式

*/

private void addShortcut(){

Intent shortcut = new Intent(“com.android.launcher.action.INSTALL_SHORTCUT”);

//快捷方式的名称

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));

shortcut.putExtra(“duplicate”, false); //不允许重复创建

//指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer

//注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序

ComponentName comp = new ComponentName(this.getPackageName(), “.“+this.getLocalClassName());

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));

//快捷方式的图标

ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);

sendBroadcast(shortcut);

}/**

为程序创建桌面快捷方式

*/

private void addShortcut(){

Intent shortcut = new Intent(“com.android.launcher.action.INSTALL_SHORTCUT”);

//快捷方式的名称

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));

shortcut.putExtra(“duplicate”, false); //不允许重复创建

//指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer

//注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序

ComponentName comp = new ComponentName(this.getPackageName(), “.“+this.getLocalClassName());

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));

//快捷方式的图标

ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);

sendBroadcast(shortcut);

}

2, 删除

/**

删除程序的快捷方式

*/

private void delShortcut(){

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

//注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式

String appClass = this.getPackageName() + “.” +this.getLocalClassName();

ComponentName comp = new ComponentName(this.getPackageName(), appClass);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));

sendBroadcast(shortcut);

}/**

删除程序的快捷方式

*/

private void delShortcut(){

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

//注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式

String appClass = this.getPackageName() + “.” +this.getLocalClassName();

ComponentName comp = new ComponentName(this.getPackageName(), appClass);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));

sendBroadcast(shortcut);

}

3, 声明权限

在AndroidManifest.xml 文件中声明 创建和删除快捷方式时声明权限

Java代码

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top