zoukankan      html  css  js  c++  java
  • Android -- ShortCut

    添加                                                                                   

    添加快捷方式是向桌面应用(launcher)发送相关action的广播:

    public static final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";

    Code:

    private void addShortcut(String name) {
            Intent addShortcutIntent = new Intent(ACTION_ADD_SHORTCUT);
    
            // 不允许重复创建
            addShortcutIntent.putExtra("duplicate", false);// 经测试不是根据快捷方式的名字判断重复的
        
    // 名字
            addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
    
            // 图标
            addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                    Intent.ShortcutIconResource.fromContext(MainActivity.this,
                            R.drawable.ic_launcher));
    
            // 设置关联程序
            Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
            launcherIntent.setClass(MainActivity.this, MainActivity.class);
            launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    
            addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);
    
            // 发送广播
            sendBroadcast(addShortcutIntent);
        }

    移除                                                                                   

    action:

    public static final String ACTION_REMOVE_SHORTCUT = "com.android.launcher.action.UNINSTALL_SHORTCUT";

    Code:

    private void removeShortcut(String name) {
    
            Intent intent = new Intent(ACTION_REMOVE_SHORTCUT);
    
            // 名字
            intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
    
            // 设置关联程序
            Intent launcherIntent = new Intent(MainActivity.this,MainActivity.class).setAction(Intent.ACTION_MAIN);
    
            intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);
    
            // 发送广播
            sendBroadcast(intent);
        }

    权限                                                                                   

    <!-- 添加快捷方式 -->
        <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
        <!-- 移除快捷方式 -->
        <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

    我是天王盖地虎的分割线                                                             

  • 相关阅读:
    Flutter竟然发布了1.5版本!!!!
    微软最爽命令行工具发布!
    被忽略的CSS规则
    代码精进之路读后感(六-结束篇)
    深入解析QML引擎, 第4部分: 自定义解析器
    深入解析QML引擎, 第3部分: 绑定类型
    深入解析QML引擎, 第2部分: 绑定(Bindings)
    编译V8过程全纪录
    面试总结
    Qt网络编程
  • 原文地址:https://www.cnblogs.com/yydcdut/p/4154377.html
Copyright © 2011-2022 走看看