package com.sanghu.broadcast; import com.sanghu.activity.LoadActivity; import com.sanghu.activity.R; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.database.Cursor; import android.net.Uri; import android.os.Parcelable; import android.util.Log; public class ShortCutUtil { private static ShortCutUtil cutUtil; private Context context; private ShortCutUtil(Context context) { this.context = context; } public static ShortCutUtil getCutUtil(Context context) { if (cutUtil == null) cutUtil = new ShortCutUtil(context); return cutUtil; } public void initShortCut() { Log.i("coder", "------createShortCut--------"); // 创建快捷方式的Intent Intent shortcutIntent = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); // 不允许重复创建 shortcutIntent.putExtra("duplicate", false); // 需要现实的名称 shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, context.getString(R.string.app_name)); // 快捷图片 Parcelable icon = Intent.ShortcutIconResource.fromContext(context, R.drawable.booz); shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); Intent intent = new Intent(context, LoadActivity.class); // 下面两个属性是为了当应用程序卸载时桌面 上的快捷方式会删除 intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.LAUNCHER"); // 点击快捷图片,运行的程序主入口 shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent); // 发送广播。OK context.sendBroadcast(shortcutIntent); } /** * 判断是否存在该快捷方式 * @return */ public boolean hasShortcut() { if (context == null) return true; boolean result = false; // 获取当前应用名称 String title = null; try { final PackageManager pm = context.getPackageManager(); title = pm.getApplicationLabel( pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA)).toString(); } catch (Exception e) { } final String uriStr; if (android.os.Build.VERSION.SDK_INT < 8) { uriStr = "content://com.android.launcher.settings/favorites?notify=true"; } else { uriStr = "content://com.android.launcher2.settings/favorites?notify=true"; } final Uri CONTENT_URI = Uri.parse(uriStr); final Cursor c = context.getContentResolver().query(CONTENT_URI, null, "title=?", new String[] { title }, null); if (c != null && c.getCount() > 0) { result = true; } return result; } }
相关推荐
2. 创建快捷方式:在需要创建快捷方式的地方,使用`ShortcutManager`的`addDynamicShortcuts()`或`addStaticShortcuts()`方法。下面是一个创建动态快捷方式的例子: ```java ShortcutManager shortcutManager = ...
在Android平台上,创建快捷方式是为用户提供快速访问特定应用功能或数据的一种方法。这通常涉及到在用户的主屏幕上生成一个图标,点击该图标可以直接启动某个活动或执行预定义的操作。本篇将详细介绍如何在Android中...
本篇将详细讲解如何检查Android应用是否已创建桌面快捷方式以及如何创建快捷方式。 首先,我们需要理解Android中的快捷方式是如何工作的。在Android系统中,快捷方式是一个指向应用程序特定Activity的Intent对象,...
如果用户已经允许了应用创建快捷方式,那么这个快捷方式就会被添加到桌面。如果用户没有这个权限,或者已经取消了这个权限,那么`sendBroadcast()`可能会抛出异常,此时你需要适当地处理异常,例如提示用户手动添加...
在Android系统中,创建快捷方式是一项常见的功能,它能让用户快速访问特定的应用或者功能,提升用户体验。本篇文章将深入探讨如何为Android软件创建快捷方式,包括理解快捷方式的工作原理、编写源码以及使用相关工具...
本文将详细介绍如何在Android应用程序中创建快捷方式,并提供相应的代码示例。 首先,我们需要理解Android快捷方式的工作原理。快捷方式本质上是Home屏幕上的一个图标,用户点击这个图标可以直接启动应用程序内的...
请注意,从Android Nougat (API 24) 开始,你需要确保应用有权限执行此操作,并且只有在特定条件下(例如应用已安装、已固定到启动器等)才能创建快捷方式。 **删除快捷方式** 删除快捷方式相对简单,因为Android...
然而,创建快捷方式可能需要特定的权限,例如`MANAGE_SHORTCUTS`。对于某些品牌,如华为,还需要额外的权限设置或者服务注册。 在`checkUtil.java`这个工具类中,通常会包含一系列针对不同品牌设备的检查方法。例如...
创建快捷方式可以通过调用`ShortcutManager`类的相关API来实现,这个类从Android Nougat(API 24)开始引入,提供了动态创建和管理快捷方式的功能。 在Android中,有两种类型的快捷方式:静态快捷方式和动态快捷...
在Android系统中,创建快捷方式是一项常见的功能,它允许用户快速访问应用内的特定功能或页面。这个"android创建快捷方式demo"就是一个示例项目,帮助开发者理解如何在Android平台上实现这一功能。在这个Demo中,...
Android 创建桌面快捷方式指向 PDF 文件 Android 创建桌面快捷方式指向 PDF 文件是 Android 开发中一个常见的需求。通过创建桌面快捷方式,用户可以快速访问 PDF 文件,而不需要在文件浏览器中搜索文件。下面将详细...
例如,开发者可以为特定功能或操作创建快捷方式,用户可以直接从桌面启动。 **二、删除桌面快捷方式** 删除Android桌面快捷方式非常简单: 1. **直接移除**:只需长按快捷方式,然后将其拖动到屏幕顶部的“删除”...
总之,通过解析和研究这个源码,开发者能够掌握如何在Android应用中创建和管理桌面快捷方式,进一步提升应用的用户体验和便捷性。这是一项对任何Android开发者都十分实用的技术,尤其对于那些希望实现个性化功能或者...
在Android应用中创建快捷方式的基本步骤如下: 1. **创建Intent对象**:用于指定安装快捷方式的动作。 2. **设置Intent的Extra参数**: - `EXTRA_SHORTCUT_INTENT`:指定启动应用的Intent。 - `EXTRA_SHORTCUT_...
然而,直接在安装时创建快捷方式可能对用户体验造成影响,因为用户可能还没来得及了解应用就已有了快捷方式,所以通常推荐在用户明确表示需要或在适当的时间点提供创建快捷方式的选项。 总之,创建Android应用的...
在android手机中创建应用APP的快捷方式,在本实例中,创建快捷方式是从用户单击了按钮开始,当然这只是演示,在实际使用中,可能由APP安装程序直接创建快捷方式,实现方法与以下代码相似: //按下了按钮时 ...
这个权限是必须的,否则系统不会允许你的应用创建快捷方式。 **步骤二:编写创建快捷方式的代码** 接下来,我们需要编写一个方法来设置和创建快捷方式。以下是一个示例方法,名为 `setupShortcut`,它接受一个 `...
本文实例讲述了Android通过应用程序创建快捷方式的方法。分享给大家供大家参考。具体如下: Android 快捷方式是桌面最基本的组件。它用于直接启动某一应用程序的某个组件。 一般情况下,可以在Launcher的应用程序...