Android开发被添加到桌面快捷方式

Android开发被添加到桌面快捷方式

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Android开发被添加到桌面快捷方式

对于一个希望拥有很多其它用户的应用来说。用户桌面能够说是全部软件的必争之地,假设用户在手机桌面上建立了该软件的快捷方式。用户将会更频繁地使用该软件。

因此,全部 Android程序都应该同意用户把软件的快捷方式加入到桌面上。

在程序中把一个软件的快捷方式加入到桌面上,仅仅须要例如以下三步就可以:

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

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

3. 调用sendBroadcast()方法发送广播就可以加入快捷方式。

实例代码:

/**
 * 向桌面加入快捷方式
 * @author jph
 * Date:2014.09.05
 */
public class AddShortcut extends Activity {
	Button btnAddShortCut;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.mian);
		btnAddShortCut=(Button)findViewById(R.id.btnAddShortCut);
		btnAddShortCut.setOnClickListener(new OnClickListener() {			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//创建一个加入快捷方式的Intent
				Intent addSC=new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
				//快捷键的标题
				String title=getResources().getString(R.string.shotcut_title);
				//快捷键的图标
				Parcelable icon=Intent.ShortcutIconResource.fromContext(
						AddShortcut.this, R.drawable.ic_launcher);
				//创建单击快捷键启动本程序的Intent
				Intent launcherIntent=new Intent(AddShortcut.this, AddShortcut.class);
				//设置快捷键的标题
				addSC.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
				//设置快捷键的图标
				addSC.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
				//设置单击此快捷键启动的程序
				addSC.putExtra(Intent.EXTRA_SHORTCUT_INTENT,launcherIntent);
				//向系统发送加入快捷键的广播
				sendBroadcast(addSC);
			}
		});
	}
}

最后为应用程序创建快捷键加入权限:

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

程序执行效果图:

Android开发被添加到桌面快捷方式


版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116930.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

  • 微型计算机硬件系统的性能主要取决6,微机计算机硬件系统的性能主要取决于…

    微型计算机硬件系统的性能主要取决6,微机计算机硬件系统的性能主要取决于…大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。微机计算机硬件系统的性能主要取决于微处理器。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。微处理器由一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器与传统的中央处理器相比,具有体积小、重量轻和容易模块化等优点。微处理器的基本组成…

  • 变长数组VLA_数组的大小长度可以改变吗

    变长数组VLA_数组的大小长度可以改变吗C99标准中,支持变长数组,即方括号[]中可以用为一个变量,但是很多编译器并不能很好地支持。c++11标准中,不支持变长数组,即方括号[]中必须为常量表达式。c++标准支不支持变长数组,并不重要,因为完全可以自己实现。变长数组(VLA):即在运行时候确定数组的长度静态数组:编译时数组长度就定死了,不能对数组进行增、删、改动态数组:运行时才确定数组的长度,可以对数组进行增、删、改…

    2022年10月25日
  • mysql 动静分离_如何动静分离?「建议收藏」

    mysql 动静分离_如何动静分离?「建议收藏」某次面试,hiremanager问我如何做一个大规模的网站,我把我所知道的都讲了,包括squid做的cdncache等等,他又问我,你觉得cdn这部分有什么瓶颈吗?我当时只想到所有动静态请求都路过squid,只是苦苦想着如何去掉动态的请求,他接着问,如何实现?我当时真想不到办法了。后来突然想起看的介绍,实际上我也接触过的,域名分离即可。比如某client的某个请求包含http:/xxx.com…

  • ubuntu 16.04 更改系统语言为简体中文[通俗易懂]

    ubuntu 16.04 更改系统语言为简体中文[通俗易懂]使用VMwareWorkstation安装64位ubuntu16.04系统,系统默认使用英文,而使用virtualbox安装,可以选择使用简体中文作为系统语言。由于英文水平有限,所以使用简体中文作为系统语言。下面是VMwareWorkstation安装的ubuntu16.04的系统语言由英文改为中文的教程。前前后后折腾的不轻,也许是水平问题吧。注意:里面有一个坑,勾选简体中文的同时…

  • decltype typename[通俗易懂]

    decltype typename[通俗易懂]decltype((variable))总是引用类型,但是decltype(variable)只有当variable是引用类型时才是引用类型。#include<iostream>#include<typeinfo>usingstd::cin;usingstd::cout;usingstd::endl;autof(au…

  • java OverlappingFileLockException文件锁

    java OverlappingFileLockException文件锁RandomAccessFilefile=newRandomAccessFile(“test.txt”,”rw”);FileChannelfileChannel=file.getChannel();FileLocklock=fileChannel.lock();上面的java文件锁是进程级别的,也就是说,如果一个进程的一个线程获取锁后,在没有释放该锁之前又有另外一个线程要获取同一个文件的锁,这时这个线程并不会等待,而是会抛出OverlappingFileLockExceptio

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号