android桌面快捷网页,Android向桌面添加快捷方式,使其指向特定的网页
今天遇到一个需求,就是向桌面添加一个快捷方式,使点击时链接到特定的网页。网上找了一下,看到这篇文章
受其启发,实现了该功能。
public void
addShortcut(Parcelable icon, String name, Uri uri){
Intent intentAddShortcut = new
Intent(ACTION_ADD_SHORTCUT);
//添加名称
intentAddShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,
name);
//添加图标
intentAddShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
icon);
//设置Launcher的Uri数据
Intent intentLauncher = new Intent();
intentLauncher.setData(uri);
//添加快捷方式的启动方法
intentAddShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
intentLauncher);
sendBroadcast(intentAddShortcut);
}
当然,你还需要添加一个permission
"com.android.launcher.permission.INSTALL_SHORTCUT"
/>
这里第一个参数Parcelable类型的icon如何获得呢,以下举个例子从Drawable文件夹中获取图片。
Parcelable icon =
Intent.ShortcutIconResource.fromContext(this,
R.drawable.icon);
转:http://blog.csdn.net/llfjfz/article/details/5752017
如何实现添加快捷图标?
Launcher为了让其他应用程序能够定制自己的快捷图标,就注册了一个BroadcastReceiver专门接收其他应用程序发来的快捷图标
定制信息。所以只需要根据该BroadcastReceiver构造出相对应的Intent并装入我们的定制信息,最后调用sendBroadcast方
法就可以创建一个快捷图标了。那么,要构造怎样一个Intent才会被Launcher的BroadcastReceiver接收呢?我们还是先来看看这
个BroadcastReceiver的注册信息吧。
下面是Launcher的AndroidManifest.xml文件中Install-ShortcutReceiver的注册信息。
android:name=”.InstallShortcutReceiver”
android:permission=
“com.android.launcher.permission.INSTALL_SHORTCUT”>
<intent-filter>
intent-filter>
如何向这个 BroadcastReceiver 发送广播,设置如下:
首先应用程序必须要有com.android.launcher.permission.INSTALL_SHORTCUT权限;
然后广播出去的Intent的action设置com.android.launcher.action.INSTALL_SHORTCUT;
这样广播就可以发送给Launcher的InstallShortcutReceiver了;
而快捷图标的信息则是以附加信息的形式存储在广播出去的Intent对象中的,包括有图标、显示的名称以及用来启动目标组件的Intent这三种信息。我们可以通过putExtra的重载方法,通过指定相应的键值,将这些信息放到附加信息的Bundle对象中。
列出了各种快捷图标信息相对应的键值和数据类型:
下面举些具体的例子,如下:
private final String ACTION_ADD_SHORTCUT =
“com.android.launcher.action.INSTALL_SHORTCUT”;
Intent addShortcut =new Intent(ACTION_ADD_SHORTCUT);
String numToDial = null;
Parcelable icon = null;
numToDial = “110″;
icon =
Intent.ShortcutIconResource.fromContext(this,R.drawable.jing);
//numToDial = “119″;
//icon =
Intent.ShortcutIconResource.fromContext(this,R.drawable.huo);
//图标
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,icon);
//名称
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,numToDial);
//启动目标组件的Intent
Intent directCall;
directCall.setData(Uri.parse(“tel://”+numToDial));
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,directCall);
sendBroadcast(addShortcut);
上面的程序运行后的界面如下:
总结说明
只要知道这些信息后,你就可以轻而易举的为应用程序添加快捷图标。
在Launcher 添加应用程序的快捷图标
当我们在Home应用程序Launcher的桌面空白处长按触摸时,会出现一个对话框,提示选择要添加的桌面组件,如下图所示:
这里出现了快捷图标的选项。选择添加快捷图标后,会弹出一个对话框,显示出了可添加快捷图标的Activity所属的应用程序的图标和名称的列表。当我们想把添加快捷图标的Activity添加到这一列表时,只需要在这个Activity注册时添加一个Action为android.intent.action.
CREATE_SHORTCUT的IntentFilter就可以,如下面所示:
这样,在这个Activity列表里,就有了你的应用程序的图标和名称。有时候,我们可以在应用程序中定义一个直接在桌面创建快捷图标的Activity,可以简化用户操作,例子如下:
在类FireShortcut中,重新实现onCreate方法。首先在以上代码的第 16
行对启动此Activity的Action进行判断,若是“添加快捷图标”的Action就初始化快捷图标的Intent——设置名称、图标及Intent。由于“添加快捷图标”Action是由Launcher通startActivityForResult这一方法发出的,所以为了能够在当前Activity退出后把初始化的快捷图标Intent返回给Launcher应用程序,就在第35行调
用了setResult这一方法,设置结果值为RESULT_OK表示正常返回,而快捷图标的Intent则作为结果Intent返回给
Launcher,然后调用finish()方法结束Activity。若Action直接不匹配,设置结果值为RESULT_CANCELED表示取
消,然后退出。
定义完了类FireShortcut以后,不要忘了还要在AndroidManifest.xml中对其进行注册声明。另外为了使该Activity能够被添加到桌面的快捷图标的列表中,还要添加相应的IntentFilter。
现在,在桌面的添加快捷图标的Activity的列表中,就出现了FireShortcut选项,单击此图标,就会直接在桌面上添加一个“拨打火警119”的快捷图标了。
android桌面快捷网页,Android向桌面添加快捷方式,使其指向特定的网页相关推荐
- html5添加到安卓桌面图标,Android向桌面添加快捷方式,使其指向特定的网页
转载: http://www.cnblogs.com/wanyao/archive/2011/11/27/2265333.html 今天遇到一个需求,就是向桌面添加一个快捷方式,使点击时链接到特定的网 ...
- android url 快捷方式,Android向桌面添加快捷方式,使其指向特定的(URL)网页
/* * 在桌面添加快捷方式 * @param icon 快捷方式图标 * @param name 快捷方式名称 * @param uri ...
- 计算机桌面快捷标删了,桌面快捷方式删不掉怎么办【图解】
电脑在我们的生活中使用的越来越广泛.电脑是一种用于高速计算的电子计算器.随着科技的不断发展,现在电脑的功能也是越来越强大了.现在人们不仅会利用电脑来工作和学习,也会利用电脑来娱乐.当我们在使用电脑的过 ...
- python桌面快捷图标_python 创建桌面快捷方式 | 学步园
首先得安装 ActiveState ActivePython . 因为这个中带了 winshell 库 from os import path import winshell #---------- ...
- Cerebro 一个跨平台的桌面快捷使用工具
CSDN GitHub Cerebro 一个跨平台的桌面快捷使用工具 AderXCoding/system/tools/cerebro 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际 ...
- android windows安卓版,Android Windows7
Android Windows7是一款运行在以Android 2.0以上操作系统的智能手机(包括Ophone和乐风)或者平板电脑上面的手机桌面插件,完美模拟了Windows7的界面风格和操作习惯,集成 ...
- iframe嵌入页面白屏_封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作
在页面中嵌入PDF文件 在上一篇<在html页面中嵌入其他页面的方法--零基础自学网页制作>(结尾见目录)中我们学习了如何在页面中嵌入其他页面的操作.今天我们来嵌入一个pdf文件. 其实使 ...
- Android Launcher开发(五)添加应用程序桌面快捷方常见问题及解决方案
最近做到的应用做刚好需要添加快捷方式的功能, 在参考了源代码和网上一些其他资料后做了出来. 在做的时候遇到两个问题, 一. 程序卸载后桌面快捷方式仍然存在: 关于此问题, 网上的资料和实际中很多应用 ...
- android快捷代码,Android实现向桌面添加快捷方式的代码
对于一个希望拥有更多用户的应用来说,用户桌面可以说是所有软件的必争之地,如果用户在手机桌面上建立了该软件的快捷方式,用户将会更频繁地使用该软件.因此,所有 Android程序都应该允许用户把软件的快捷 ...
- Ubuntu中给eclipse和android studio添加桌面快捷图标
Ubuntu 12.04 创建应用程序启动项(可在Unity LaucherPad显示) http://www.cnblogs.com/bluestorm/archive/2012/10/12/272 ...
最新文章
- nodejs中的路径和url操作
- Access ADO多连接时数据延迟无法同步无法及时更新的解决办法
- 银行业B端数字化转型逻辑
- 洛谷——P1031 均分纸牌
- Android 仿王者荣耀广告弹窗,android仿王者荣耀对战资料之能力图
- 【渝粤教育】广东开放大学 数据结构 形成性考核 (24)
- [react] 说说react的生命周期有哪些?
- java 采集 cms_开源 java CMS - FreeCMS2.3 Web页面信息采集
- java 字符串方法
- Project Euler Problem 27小结
- CRT中的sftp上传文件出现中文路乱码
- PHP 暂停函数 sleep() 与 usleep() 的区别
- 10006---当当架构部张亮:从码农到大牛,技术与心境的双重提升
- 基于Android 的手机传感器检测
- java io closed_java.io.IOException: Stream closed 异常的原因和处理
- 线代 006 克拉默法则 线性方程组求解
- Android Studio系统盘瘦身
- DeepLearing—CV系列(二十二)——DCGAN生成动漫卡通人脸的Pytorch实现
- 性能测试:Loadrunner 脚本录制、设置事务、添加检查点、参数化以及添加关联
- C语言基本数据类型之整型变量
热门文章
- 【数字信号调制】基于matlab GUI数字信号调制系统【含Matlab源码 1030期】
- php5 Trace如何配置,配置参考 · ThinkPHP5.0完全开发手册 · 看云
- 无监督学习 k-means_无监督学习-第5部分
- Mac下Eclipse SVN 更换账号
- python include目录,python pip指定库目录和include目录
- python unittest接口测试_Python+unittest 接口自动化测试
- 解析JavaScript模拟事件的注意要点
- 分布式系统关注点——99%的人都能看懂的「熔断」以及最佳实践
- 国务院印发《政务信息资源共享管理暂行办法》
- 企业wiki之confluence安装部署(linux)及其破解