加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android快捷图标的创建与移除

发布时间:2020-12-14 23:17:00 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /** * 添加桌面快捷方式 * * @param view */ public void click1(View view) { if (isExit()) { Toast.makeText(getApplicationContext(),"快捷方式已

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

    /** 
         * 添加桌面快捷方式 
         *  
         * @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,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;  
        }  

需要声明的权限

? ? <!-- 添加快捷方式权限 -->
? ? <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
? ? <!-- 读取设置权限 -->
? ? <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
? ? <!-- 删除快捷方式权限 -->
? ? <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读