给应用创建快捷图标

权限:

<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);
        }
    }

}
时间: 2024-08-11 01:23:37

给应用创建快捷图标的相关文章

创建快捷图标

原理: 在看安卓上层源码的时候:桌面应用在Launcher2包中E:\系统上层所有应用的源代码\Launcher2 (安卓系统的默认桌面也是一个手机应用程序) 查看源码可知,在Launcher2的清单文件中注册了一个广播接受者  (见附录) 卸载桌面应用: 在shell模式下卸载系统的桌面应用 过程:cd  /system/app------>ls可以看到Launch2.apk------------->mount -o remount rw /system--------->rm -r

安卓开发之APK安装之后自动在桌面上创建快捷图标

可以看到很多的APP在第一次运行之后就会弹出来一个Toast说什么快捷方式已创建,那么这个东西是怎么搞出来的呢 很简单就下面几句话,写在这儿以后好copy 先创建一个类 1 import android.app.Activity; 2 import android.content.Intent; 3 import android.os.Parcelable; 4 5 /** 6 * Created by Administrator on 2016/1/21. 7 */ 8 public clas

android 创建快捷图标demo

public class DemoActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void click(View vie

创建桌面快捷图标

分析桌面程序的源码发现具有接收创建桌面快捷图标的广播接受,创建快捷突变即发送广播的方式来实现的.下面来分析创建桌面快捷图标的过程. 1. 在应用程序的第一个Activity,添加创建快捷图标的方法, installShortCut(); // 创建桌面快捷图标 private void intallShotCut() { // 定义广播通知桌面创建快捷图标 Intent intent = new Intent(); intent.setAction("com.android.launcher.a

Android_创建和删除快捷图标

/** * 判断桌面是否已经存在快捷方式 */ private boolean isExit() { Uri uri = null; if (android.os.Build.VERSION.SDK_INT < 8) { uri = Uri.parse("content://com.android.launcher.settings/favorites"); } else { uri = Uri.parse("content://com.android.launcher

linux应用程序创建快捷启动方式

对于liunx桌面环境的普通用户来讲,还是很希望像windows那样双击快捷图标快速打开应用程序. 这里以rdesktop远程桌面连接程序连接windows为例: 启动xwindows,命令:startx 在图形界面空白处右击,选择create launcher 创建启动器type一栏中选择applicationname输入显示的名称:rdesktopcommand 输入命令:rdesktop –a 16 192.168.2.55:3389 -f

如何在浏览器上设置网站的快捷图标

因为我常用的浏览器是搜狗,所以这里以搜狗浏览器为例子(其它的浏览器也大概是这样的): 我们经常有一些自己需要登录的网站,频繁的打开浏览器后在搜索输入栏里输入网站名再搜索真的很浪费时间的; 该如何解决这一点呢? 第一种做法就是在桌面创建一个快捷方式,然后将该网站的Url输入进去就形成了一个桌面快捷:但是我觉得这样还是麻烦的:那该如何优化一下呢? 在搜狗浏览器窗口的的地址栏下方有一行不知道有人注意到了没有,它是以一个叫[收藏]的快捷图标开始的:先记住这一行: 在搜索输入栏里输入你想要浏览的网站,然后

Linux 环境 Intelij Idea 安装与快捷图标配置

索引: 开源Spring解决方案--lm.solution 参看代码 GitHub: intelij-idea.txt 一.Linux (DeepinOS) 环境 1.官网下载 1 ideaIU-2018.1.2.tar.gz 2.解压 1 tar -zxvf ideaIU-2018.1.2.tar.gz -C ~/dev/Idea 3.设置执行权限 1 cd ~/dev/Idea/idea-IU-181.4668.68/bin 2 sudo chmod a=+rx ./idea.sh 4.安装

Linux系统下为任何应用创建启动图标

很多时候,我们的软件是通过github项目或者解压zip tar包等获取的,系统是搜不到这个应用的,设置没有启动图标,每次都需要启动安装目录的运行文件./XXXtest非常不方便,但我们是可以自行创建一个桌面启动器的,并能够在系统应用搜索中被发现的.第一步:使用文本编译器创建XXXtest.desktop文件:nano XXXtest.desktop 第二步:编辑XXXtest.desktop文件,上面的命令会打开该文件,如果没有则会创建一个空文件,添加如下信息. [Desktop Entry]