• 给应用创建快捷图标


    权限:

    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

    package com.example.t02;
    
    import android.app.Activity;
    import android.app.Fragment;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.Button;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            if (savedInstanceState == null) {
                getFragmentManager().beginTransaction()
                        .add(R.id.container, new PlaceholderFragment()).commit();
            }
        }
    
    
        /**
         * A placeholder fragment containing a simple view.
         */
        public static class PlaceholderFragment extends Fragment {
            Button btnChange;
            
            public static final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";
            
            public PlaceholderFragment() {
            }
    
            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                    Bundle savedInstanceState) {
                View rootView = inflater.inflate(R.layout.fragment_main, container,
                        false);
                
                btnChange = (Button)rootView.findViewById(R.id.btnChange);
                
                btnChange.setOnClickListener(new OnClickListener(){
                    @Override
                    public void onClick(View arg0) {
                        addShortcut("tttt");
                    }
                });
                
                return rootView;
            }
            
            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(getActivity(),
                                R.drawable.ic_launcher2));
    
                // 设置关联Activity
                Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
                launcherIntent.setClass(getActivity(), MainActivity.class);
                launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    
                addShortcutIntent
                        .putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);
    
                // 发送广播
                getActivity().sendBroadcast(addShortcutIntent);
            }
        }
    
    }
  • 相关阅读:
    Postgresql 修改最大连接数到10000(默认2000多)
    Postgresql 当中有四种方式获取当前时间
    postgreSQL数据库limit分页、排序
    mybatis 中标签bool值类型为false判断
    (转)SpringCloud之服务网关Gateway
    Java线程池,isShutDown、isTerminated的作用与区别
    Java线程池的四种用法与使用场景
    (转)Java多线程:彻底搞懂线程池
    算法注意---1、取用数据之前一定要保证数据存在
    算法与数据结构---4.4、最大子段和-分治优化原理
  • 原文地址:https://www.cnblogs.com/yshyee/p/4782928.html
Copyright © 2020-2023  润新知