• 创建桌面快捷方式的实现


    创建桌面快捷方式:

    //创建快捷方式
        private void installShortcut() {
            //        <receiver
            //        android:name="com.android.launcher2.InstallShortcutReceiver"
            //        android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
            //        <intent-filter>
            //        <action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
            //        </intent-filter>
            //        </receiver>
            //快捷方式只能创建一次
            boolean installed = PrefUtils.getBoolean(this,"shortcut_installed", false);
            if (!installed) {
                //发一个广播
                Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
                //图标
                intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(),
                        R.mipmap.ic_launcher));//BitmapFactory: 将资源文件id转成Bitmap对象
                //名称
                intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷测试");
                //动作
                Intent actionIntent = new Intent();
                //跳到主页面, 隐式意图 action
                actionIntent.setAction("com.loaderman.demo");
                actionIntent.addCategory(Intent.CATEGORY_DEFAULT);
                intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, actionIntent);
                sendBroadcast(intent);
                PrefUtils.putBoolean(this, "shortcut_installed", true);
            }
    
        }
    public class PrefUtils {
    
        public static void putBoolean(Context ctx, String key, boolean value) {
            SharedPreferences sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
            sp.edit().putBoolean(key, value).commit();
        }
    
        public static boolean getBoolean(Context ctx, String key, boolean defValue) {
            SharedPreferences sp = ctx.getSharedPreferences("config", Context.MODE_PRIVATE);
            return sp.getBoolean(key, defValue);
        }
    }
    

     在清单文件添加权限和创建配置需要跳转界面的action

     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    
     <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                     <action android:name="com.loaderman.demo" />
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
     </activity>
    

     当此方法调用时就会去创建快捷方式.现在开发中很少使用

  • 相关阅读:
    使用Cloud application Studio在C4C UI里创建下拉列表(dropdown list)
    如何使用Kubernetes里的NetworkPolicy
    SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子
    Kubernetes API server工作原理
    Kubernetes Helm入门指南
    两张图弄懂函数的递归(以golang为例)
    (十四)golang--函数和包
    【自然语言处理(三)】主题模型
    【自然语言处理】使用朴素贝叶斯进行语种检测
    【自然语言处理】利用朴素贝叶斯进行新闻分类(自己处理数据)
  • 原文地址:https://www.cnblogs.com/loaderman/p/6509839.html
Copyright © 2020-2023  润新知