android应用创建快捷方式 博客分类: android android桌面创建快捷方式
程序员文章站
2024-03-14 22:31:17
...
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; } }
推荐阅读
-
android 用户权限 博客分类: android androiduser-permission
-
Android自定义view(一) 博客分类: Android UI 界面 Android自定义view步骤
-
LayoutInflater和inflate()方法的用法 博客分类: android androidLayoutInflater
-
wifi开启关闭 博客分类: android androidwifi
-
android 用户权限 博客分类: android androiduser-permission
-
FrameLayout 博客分类: Android UI 界面
-
android应用创建快捷方式 博客分类: android android桌面创建快捷方式
-
显示所有应用程序列表,点击进入 博客分类: android android应用连接跳转
-
android的用户定位---location使用 博客分类: android androidloationManagergps
-
广播机制的2种注册方式 博客分类: android android广播机制