Android编程实现创建,删除,判断快捷方式的方法

 更新时间:2017年02月24日 12:01:07   作者:Jacob-wj  
这篇文章主要介绍了Android编程实现创建,删除,判断快捷方式的方法,结合实例形式分析了Android编程针对快捷方式的常用操作技巧,需要的朋友可以参考下

本文实例讲述了Android编程实现创建,删除,判断快捷方式的方法。分享给大家供大家参考,具体如下:

/**
* 为程序创建桌面快捷方式 ,这样写,在程序卸载的时候,快捷方式也会一并删除
*/
private void addShortcut() {
    Intent shortcutIntent = new Intent(
        "com.android.launcher.action.INSTALL_SHORTCUT");
    // 快捷方式的名称
    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
        getString(R.string.app_name));
    shortcutIntent.putExtra("duplicate", false); // 不允许重复创建
    /*
     * shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
     * getApplicationContext(), SplashActivity.class));
     */
    // 注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
    ComponentName comp = new ComponentName(this.getPackageName(),
        this.getPackageName() + "." + this.getLocalClassName());
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setAction("android.intent.action.MAIN");
    intent.addCategory("android.intent.category.LAUNCHER");
    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
        intent.setComponent(comp));
    // 快捷方式的图标
    ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(
        this, R.drawable.icon_launcher);
    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
    sendBroadcast(shortcutIntent);
}
//判断是否已经创建快捷方式
private boolean hasShortcut() {
    boolean isInstallShortcut = false;
    final ContentResolver resolver = this.getContentResolver();
    final String AUTHORITY;
    if (android.os.Build.VERSION.SDK_INT < 8) {
      AUTHORITY = "com.android.launcher.settings";
    } else {
      AUTHORITY = "com.android.launcher2.settings";
    }
    final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
        + "/favorites?notify=true");
    Cursor c = resolver
        .query(CONTENT_URI,
            new String[] { "title", "iconResource" },
            "title=?",
            new String[] { this.getString(R.string.app_name).trim() },
            null);
    if (c != null && c.getCount() > 0) {
      isInstallShortcut = true;
    }
    return isInstallShortcut;
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • WindowManagerService服务是如何以堆栈的形式来组织窗口

    WindowManagerService服务是如何以堆栈的形式来组织窗口

    我们知道,在Android系统中,Activity是以堆栈的形式组织在ActivityManagerService服务中的;在本文中,我们就详细分析WindowManagerService服务是如何以堆栈的形式来组织窗口的
    2013-01-01
  • 关于AndroidStudio新建与编译项目速度慢解决办法

    关于AndroidStudio新建与编译项目速度慢解决办法

    这篇文章主要介绍了关于AndroidStudio新建与编译项目速度慢的解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Android实现加载等待展示

    Android实现加载等待展示

    这篇文章主要为大家详细介绍了Android实现加载等待展示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • Android入门之IntentService的使用教程详解

    Android入门之IntentService的使用教程详解

    IntentService的生命周期中有一个非常好的方法-onHandleIntent方法,它是一个abstract方法,开发者在实现IntentService时可以覆盖它来处理“长事务”。本文就来聊聊IntentService的使用,需要的可以参考一下
    2022-12-12
  • 基于Flutter实现多边形和多角星组件

    基于Flutter实现多边形和多角星组件

    开发中,免不了会用到多边形、多角星等图案,比较常用的多边形比如雷达图、多角星比如评价星级的五角星等,本文章就使用Flutter绘制封装一个这样的组件,需要的可以参考一下
    2022-05-05
  • Android获取apk签名指纹的md5值(防止重新被打包)的实现方法

    Android获取apk签名指纹的md5值(防止重新被打包)的实现方法

    这篇文章主要介绍了Android获取apk签名指纹的md5值以防止重新被打包的实现方法,结合实例形式详细分析了Android获取apk md5值的常用技巧,需要的朋友可以参考下
    2016-07-07
  • android nfc常用标签读取总结

    android nfc常用标签读取总结

    NFC(Near Field Communication,近场通信)是一种数据传输技术这篇文章主要介绍了android nfc常用标签读取总结,有兴趣的可以了解一下。
    2016-12-12
  • Android Service判断设备联网状态详解

    Android Service判断设备联网状态详解

    本文主要介绍Android Service判断联网状态,这里提供了相关资料并附有示例代码,有兴趣的小伙伴可以参考下,帮助开发相关应用功能
    2016-08-08
  • Android实现拍照和录制视频功能

    Android实现拍照和录制视频功能

    这篇文章主要为大家详细介绍了Android实现拍照和录制视频功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android打开图库选择照片功能代码

    Android打开图库选择照片功能代码

    这篇文章主要介绍了Android打开图库选择照片功能代码以及实现流程分析,对此有需要的朋友参考学习下吧。
    2018-02-02

最新评论