iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android 创建/验证/删除桌面快捷方式(已测试可用)
  • 510
分享到

Android 创建/验证/删除桌面快捷方式(已测试可用)

测试Android 2022-06-06 10:06:08 510人浏览 独家记忆
摘要

测试环境为Adnroid 2.1以上。 第一步:AndroidManifest.xml 权限配置: 添加快捷方式权限: 代码如下:<uses-permission an

测试环境为Adnroid 2.1以上。
第一步:AndroidManifest.xml 权限配置:
添加快捷方式权限:
代码如下:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

验证快捷方式是否存在权限:
代码如下:
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />

删除快捷方式权限: 
代码如下:
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

代码:
代码如下:
public class ShortCutSample {

public void creatShortCut(Activity activity,String shortcutName,int resourceId)
{
Intent intent = new Intent();
intent.setClass(activity, activity.getClass());

intent.setAction("android.intent.action.MaiN");
intent.addCateGory("android.intent.category.LAUNCHER");
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//不允许重复创建
shortcutintent.putExtra("duplicate", false);
//需要现实的名称
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, shortcutName);
//快捷图片
Parcelable icon = Intent.ShortcutIconResource.fromContext(activity.getApplicationContext(), resourceId);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//点击快捷图片,运行的程序主入口
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
//发送广播。OK
activity.sendBroadcast(shortcutintent);
}

public void deleteShortCut(Activity activity,String shortcutName)
{
Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
//快捷方式的名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,shortcutName);
//在网上看到到的基本都是一下几句,测试的时候发现并不能删除快捷方式。
//String appClass = activity.getPackageName()+"."+ activity.getLocalClassName();
//ComponentName comp = new ComponentName( activity.getPackageName(), appClass);
//shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));

Intent intent = new Intent();
intent.setClass(activity, activity.getClass());
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.LAUNCHER");
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,intent);
activity.sendBroadcast(shortcut);
}

public boolean hasshortcut(Activity activity,String shortcutName)
{
String url = "";
int systemversion = Integer.parseInt(android.os.Build.VERSION.SDK);

if(systemversion < 8){
url = "content://com.android.launcher.settings/favorites?notify=true";
}else{
url = "content://com.android.launcher2.settings/favorites?notify=true";
}
ContentResolver resolver = activity.getContentResolver();
Cursor cursor = resolver.query(Uri.parse(url), null, "title=?",new String[] {shortcutName}, null);
if (cursor != null && cursor.moveToFirst()) {
cursor.close();
return true;
}
return false;
}
}

调用测试代码:
代码如下:
 public class mainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ShortCutSample sample =new ShortCutSample();
String shortcutName=getString(R.string.app_name);
if(sample.hasShortcut(this, shortcutName))
sample.deleteShortCut(this,sh ortcutName);
else
sample.creatShortCut(this,shortcutName,R.drawable.icon);
}
}

在网上找了很久都是一样的代码,删除那块搞了一个下午才弄好,其实很简单的东东。
第一次发文章,Adnroid新人。多多交流和指导呀。呵呵。 您可能感兴趣的文章:android ListView内数据的动态添加与删除实例代码Android实现WEBView删除缓存的方法Android Studio彻底删除项目 Android Studio彻底删除ModuleAndroid Recyclerview实现多选,单选,全选,反选,批量删除的功能Android高仿QQ6.0侧滑删除实例代码Android通讯录开发之删除功能的实现方法Android中删除Preference详解Android中删除文件以及文件夹的命令记录Android递归方式删除某文件夹下的所有文件(.mp3文件等等)android实现简单左滑删除控件


--结束END--

本文标题: Android 创建/验证/删除桌面快捷方式(已测试可用)

本文链接: https://www.lsjlt.com/news/27969.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android开发中如何为程序创建桌面快捷方式
    这期内容当中小编将会给大家带来有关Android开发中如何为程序创建桌面快捷方式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:private void addShortcut() { In...
    99+
    2023-05-31
    android roi
  • Android开发中创建桌面快捷方式的方法有哪些
    今天就跟大家聊聊有关Android开发中创建桌面快捷方式的方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android在桌面上生成快捷方式有两种情况,一种是直接在桌面直接生...
    99+
    2023-05-31
    android roi
  • win7下双击桌面快捷方式提示无法验证创建此文件的人员
      win7系统遇到这个问题相信大家都非常的苦恼,这个网友的问题是这样的,他的电脑有两个硬盘,主硬盘有两个盘符,分别为C盘和E盘,附加的另外一个硬盘盘符为D盘和E盘。因为可能是接触不良的原因或者说是硬盘故障,导致其中一个...
    99+
    2023-06-05
    win7 桌面 快捷方式 人员 文件
  • Ubuntu中如何使用脚本创建桌面快捷方式
    Ubuntu中如何使用脚本创建桌面快捷方式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。代码如下:#先打开终端ctrl+alt+tcd 桌面touch &nbs...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作