安卓开发之APK安装之后自动在桌面上创建快捷图标
可以看到很多的APP在第一次运行之后就会弹出来一个Toast说什么快捷方式已创建,那么这个东西是怎么搞出来的呢
很简单就下面几句话,写在这儿以后好copy
先创建一个类
import android.app.Activity;
import android.content.Intent;
import android.os.Parcelable; /**
* Created by Administrator on 2016/1/21.
*/
public class ShortCut {
public static void createShortCut(Activity act, int iconResId, int appnameResId) {
Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
// 不允许重复创建
intent.putExtra("duplicate", false);
// 需要现实的名称
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME,act.getString(appnameResId));
// 快捷图片
Parcelable icon = Intent.ShortcutIconResource.fromContext(act.getApplicationContext(), iconResId);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
// 点击快捷图片,运行程序
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(act.getApplicationContext(), act.getClass()));
// 发送广播
act.sendBroadcast(intent); }
}
上面的代码
首先生成一个Intent实例(隐式Intent),然后向intent中放入一些值来配置
上面的就是放入了4个值来控制快捷图标的创建
1.是否允许重复创建
2.确定创建的图标的名称
3.确定创建的图标的图片
4.设置点击这个快捷图标就运行该APP
你可以在你的APP第一次运行时在第一个Activity中调用这个类的静态方法,就实现了快捷图标的创建
最后不要忘了添加权限
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
安卓开发之APK安装之后自动在桌面上创建快捷图标的更多相关文章
- mac上安装软件后,桌面上软件的图标如何去掉?
桌面上的图标是软件的镜像包,默认安装以镜像形式,你选中它,按command+e 就可以推掉它
- Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows "开始"菜单或桌面上创建项
错误代码及解释: 在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建 ...
- 安卓开发之UIwebview
web view在安卓开发中是比较常见的UI,像微信的新闻模块就采用了这个,他的作用越来越广,下面我把以前做的贴了出来,如果有更好的办法,希望大神不吝赐教哈,嘿嘿,纯代码来了: java代码 publ ...
- Android APK安装完成自动删除安装包
需要实现此功能,一般实际开发是在自动版本更新上,当更新完开始自动安装完毕后,删除内存卡里的安装包.实现方式很简单,监听应用广播,获取内存卡下的文件,删除! 1.监听广播 package com.exa ...
- 安卓开发之Toolbar
根据官网的教程,发现实现与预期不一致,查看相关资料自己整理了一下(官网开发文档:https://developer.android.com/training/appbar/setting-up.htm ...
- 安卓开发之ListAdapter(二)
今天我们来学习一下ArrayAdapter: ArrayAdapter是安卓中最简单的适配器.使用ArrayAdapter(数组适配器),需要把数据源存 放至数组里面来显示. •构造函数: publi ...
- 安卓开发之RecyclerView
RecyclerView是一个非常好用的控件,它的效果和ListView很相似,甚至可以说RecyclerView的出现是来取代ListView的 RecyclerView比ListView更加灵活, ...
- 安卓开发之ListAdapter(一)
Adapter常用来管理数据,是连接后端数据和前端显示的适配器接口,是数据和UI(view)之间一个重要的纽带.再常见的view(listview.gridview)等地方都需要用到adapter,下 ...
- WebApp开发之Cordova安装教程
1 安装Cordova (Cordova开发环境的安装,包括所涉及的Node.js.Cordova CLI.JDK及Android SDK等,然后创建一个HelloWord项目.) 1.1 安装Nod ...
随机推荐
- 看漫画,学 Redux
Flux 架构已然让人觉得有些迷惑,而比 Flux 更让人摸不着头脑的是 Flux 与 Redux 的区别.Redux 是一个基于 Flux 思想的新架构方式,本文将探讨它们的区别. 如果你还没有看过 ...
- JS 不定函数参数argument的用法
本篇文章只要是对js的隐含参数(arguments,callee,caller)使用方法进行了介绍. arguments arguments 该对象代表正在执行的函数和调用它的函数的参数. [func ...
- 新浪微博iOS示例,登录,获取个人信息
1.导入第三方库和系统框架
- HDU 2653 - Waiting ten thousand years for Love
首先,对于一个 '@' 飞上去,飞下来都要耗1点魔力,所以是两点= = 然后站在同一格 魔力可能不同,所以要增加一维. 还有当前搜到的不一定是最小. 别的也没啥. #include <iostr ...
- 2Sum,3Sum,4Sum,kSum,3Sum Closest系列
1).2sum 1.题意:找出数组中和为target的所有数对 2.思路:排序数组,然后用两个指针i.j,一前一后,计算两个指针所指内容的和与target的关系,如果小于target,i右移,如果大于 ...
- C++程序设计实践指导1.5求两个整数集合并集改写要求实现
改写要求1:改写为单链表结构可以对任意长度整数集合求并集 #include <cstdlib> #include <iostream> using namespace std; ...
- linux学习笔记之线程同步机制
一.基础知识. 1:线程同步机制:互斥量,读写锁,条件变量,自旋锁,屏障. 1,互斥量:每个进程访问被互斥量保护的资源时,都需要先对互斥量进行判断. 1)互斥量重要属性:进程共享属性,健壮属性,类型属 ...
- [Effective Modern C++] Item 6. Use the explicitly typed initializer idiom when auto deduces undesired types - 当推断意外类型时使用显式的类型初始化语句
条款6 当推断意外类型时使用显式的类型初始化语句 基础知识 当使用std::vector<bool>的时候,类型推断会出现问题: std::vector<bool> featu ...
- Yii中常用路径(转)
调用YII框架中jquery:Yii::app()->clientScript->registerCoreScript('jquery'); framework/web/js/sou ...
- Windows Server 2008企业64位版防火墙添加端口的方法
原始地址:http://www.veryhuo.com/a/view/48280.html 什么是防火墙的入站规则和出站规则 简单的说 出站就是你访问外网 入站就是外网访问你 记得在两年前写过一篇教程 ...