Android快捷图标的创建与移除

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
    /** 
         * 添加桌面快捷方式 
         *  
         * @param view 
         */  
        public void click1(View view) {  
            if (isExit()) {  
                Toast.makeText(getApplicationContext(), "快捷方式已经存在", 0).show();  
                return;  
            }  
            // 取得图标资源  
            Parcelable icon = Intent.ShortcutIconResource.fromContext(  
                    getApplicationContext(), R.drawable.logo);  
            Intent intent = new Intent();  
            // 设置意图的动作  
            intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");  
            // 设置图标的名称  
            intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "LOL");  
            // 设置图标  
            intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);  
            // 设置意图的动作和类别  
            Intent intent2 = new Intent();  
            intent2.setAction(Intent.ACTION_MAIN);  
            intent2.addCategory(Intent.CATEGORY_LAUNCHER);  
            intent2.setComponent(new ComponentName(this, MainActivity.class));  
            intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent2);  
            sendBroadcast(intent);  
        }  

    /** 
         * 删除桌面快捷方式 
         *  
         * @param view 
         */  
        public void click2(View view) {  
            Parcelable icon = Intent.ShortcutIconResource.fromContext(  
                    getApplicationContext(), R.drawable.logo);  
            Intent intent = new Intent();  
            // 设置意图的动作  
            intent.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");  
            // 设置图标的名称  
            intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "LOL");  
            // 设置图标  
            intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);  
            // 设置意图的动作和类别  
            Intent intent2 = new Intent();  
            intent2.setAction(Intent.ACTION_MAIN);  
            intent2.addCategory(Intent.CATEGORY_LAUNCHER);  
            intent2.setComponent(new ComponentName(this, MainActivity.class));  
            intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent2);  
            sendBroadcast(intent);  
        }  

    /** 
         * 判断桌面是否已经存在快捷方式 
         *  
         * @return 
         */  
        private boolean isExit() {  
            Uri uri = null;  
            // 不同版本中的Uri不同  
            if (getSdkVersion() < 8) {  
                uri = Uri  
                        .parse("content://com.android.launcher.settings/favorites");  
            } else {  
                uri = Uri  
                        .parse("content://com.android.launcher2.settings/favorites");  
            }  
            String selection = "title=?";  
            String[] selectionArgs = new String[] { "LOL" };  
            Cursor cursor = getContentResolver().query(uri, null, selection,  
                    selectionArgs, null);  
            if (cursor.moveToNext()) {  
                cursor.close();  
                return true;  
            } else {  
                cursor.close();  
                return false;  
            }  
        }  

    /** 
         * 获得手机SDK的版本 
         *  
         * @return 
         */  
        private int getSdkVersion() {  
            return android.os.Build.VERSION.SDK_INT;  
        }  

需要声明的权限

标签: 权限

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:python统计文本字符串里面单词出现的频率

下一篇:python删除源文件中的注释并编译