在桌面上创建快捷方式

在程序中把一个软件的快捷方式添加到桌面上,只需要如下三步:

1、创建一个添加快捷方式的Intent,该Intent的Action属性值应该为com.android.launcher.action.INSTALL_SHORTCUT.

2、通过为该Intent添加Extra属性来设置快捷方式的标题、图标及快捷方式对应启动的程序。

3、调用sendBroadcast()方法发送广播即可添加快捷方式。

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Parcelable;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;

public class AddShortCut extends Activity {
  ImageView flower;
  //定义两份动画资源
  Animation anim;
  Animation reverse;
  final Handler handler = new Handler(){
    public void handleMessage(Message msg) {
      if(msg.what == 0x123){
        flower.startAnimation(reverse);
      }
    }
  };

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_short_cut);
    flower = (ImageView) findViewById(R.id.flower);
    //加载第一份动画资源
    anim = AnimationUtils.loadAnimation(this,R.anim.anim);
    //设置动画结束后保留结束状态
    anim.setFillAfter(true);
    //加载第二份动画资源
    reverse = AnimationUtils.loadAnimation(this, R.anim.reverse);
    //设置动画结束后保留结束状态
    reverse.setFillAfter(true);
    Button start = (Button) findViewById(R.id.start);
    //为按钮的单击事件添加监听器
    start.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        //创建添加快捷方式的Intent
        Intent addIntent =
          new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
        String title = getResources().getString(R.string.title);
        //加载快捷方式的图标
        Parcelable icon = Intent.ShortcutIconResource
              .fromContext(AddShortCut.this, R.drawable.icon);
        //创建点击快捷方式后操作Intent,该出当点击创建的快捷方式后,再次启动该程序
        Intent myIntent = new Intent(AddShortCut.this, AddShortCut.class);
        //设置快捷方式的标题
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
        //设置快捷方式的图标
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
        //设置快捷方式对应的Intent
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);
        //发送广播添加快捷方式
        sendBroadcast(addIntent);
      }
    });
  }
}

在程序中添加快捷方式需要相应的权限,在AndroidManifest.xml文件中添加如下配置片段:

<!-- 指定添加安装快捷方式的权限 -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

时间: 2024-10-24 05:56:59

在桌面上创建快捷方式的相关文章

如何在Linux的桌面上创建快捷方式或启动器

如果在Linux桌面系统中你经常使用一个程序,你可能想去创建一个“桌面快捷方式”,以便于你在桌面只要点击一下快捷方式就可以启动它.虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式. 在这个教程里,我将告诉你如何在不同的Linux桌面上添加桌面快捷方式.(译注:其实除了作者所述的这些方法外,各种桌面上也还有更简便的方法,大家可以评论分享自己的经验) 一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标

如何在桌面上创建程序文件夹让每个登录用户都能访问呢?

如何在桌面上创建程序文件夹让每个登录用户都能访问呢? ?Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者博客:https://blog.51cto.com/lander IT Helpdesk 工程师实战培训课程:https://edu.51cto.com/lecturer/733218.html轻松进外企:IT Helpdesk工程师实战自学之路:https://blog.51cto.com/lander/2413018更新时间:2019/8/

Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows &quot;开始&quot;菜单或桌面上创建项

错误代码及解释: 在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建项 解决方法: 这是由于windows server 2008 默认使用语言为英语,在安装oracle 时,找不到相应的中文字符集,所以报错. 在控制面板,打开区域和语言,在“管理”选项中,将区域和语言设置为“中文(简体,中国)",重新启动服务, 重新安装oracle 11G . 来自:http://

python小练习,打出1-100之间的所有偶数,设计一个函数,在桌面上创建10个文件,并以数字命名,复利计算函数

练习一:打出1-100之间的所有偶数 def even_print(): for i in range(1,101): if i % 2 == 0: print (i) even_print() 练习二:设计一个函数,在桌面上创建10个文件,并以数字命名 def text_creation(): path = 'C:/Users/Administrator/Desktop' for name in range (1,11): with open(path + str(name) + '.txt'

安卓开发之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

git 手误在桌面上创建了本地仓库,解决方法

因为小白在使用git进行分布式版本控制的时候,不小心新在磁盘下, 直接创建了本地仓库,结果在磁盘下直接创建了,项目中磁盘下的全部文件都带有?. 解决的方法如下: 我的电脑是在win7下: 计算机-->左上角组织,选择文件夹与搜索选项-->查看-->隐藏的文件都点击成显示的 最后,在你的磁盘下,扎到.git文件夹,删除即可.

Android创建快捷方式

问题描述: 想要在手机的桌面上添加快捷方式,而桌面又属于系统的应用,也就是说我们需要有一个与系统进行通信的接口.还好Android中有广播,而Android系统中又有接收添加快捷方式广播的广播接收者.于是,为我们的应用快捷方式就变得很简单了. 关键代码: private void createShortCut() { Intent addIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); // 获取快

[No.000002]2015-03-20 编写好的程序如何安装时在WIN7/8任务栏创建快捷方式

在XP时代,有一个快速启动栏,这里创建快捷方式只需要把快捷方式放在“%AppData%\Roaming\Microsoft\Internet Explorer\Quick Launch”文件夹下即可,最近做了一个项目,要在WIN7/8的任务栏上创建快捷方式,搞了半天终于搞定,在这里大概记录一下,如果能因此帮到各位,也算功德一件: 我只需提醒各位注意注册表中[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\T

[No.000004]在WIN7/8任务栏创建快捷方式

在XP时代,有一个快速启动栏,创建快捷方式只需要把快捷方式放在“%AppData%\Roaming\Microsoft\Internet Explorer\Quick Launch”文件夹下即可,如果要在WIN7/8的任务栏上创建快捷方式,只需要注意[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband]的各个键值以及%AppData%\Roaming\Microsoft\Internet Ex