为我们的安卓app自动生成桌面快捷方式

作者:张君杰

       对于桌面软件来说,在用户桌面能保留快捷方式的软件必然是深得用户喜爱的,留在桌面上能经常获得用户的关注从而增加使用频度,因此不少软件都会在安装的时候自动生成桌面快捷方式,尽管有点无赖。

       对于安卓系统来说,我们也可以做到运行程序的时候自动生成桌面快捷方式。要生成桌面快捷方式,需要做到以下三步:


1.        创建一个添加快捷方式的Intent,这个Intent的Action是com.android.launcher.action.INSTALL_SHORTCUT。


2.        通过该Intent,添加Extra属性来设置快捷方式的标题,图标,以及启动的程序。


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


Ps:另外还要在AndroidManifest.xml文件中添加安装快捷方式的权限:<uses-permissionandroid:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

 

 

如下为示例app代码:(你可以把它添加到你程序代码的适当位置,尽管你可以不经过用户同意直接扔个快捷方式到桌面上去,但是如果能将这段代码放到app内某个添加快捷方式的按钮下面去会显得更文明一点


package com.example.Shortcuts;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class ShortCutsActivity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button btn = (Button) findViewById(R.id.button1);
		btn.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				// TODO Auto-generated method stub
				
//以下为主要示例代码_________________________________________________
				// 创建添加快捷方式的Intent
				Intent addShortCut = new Intent(
						"com.android.launcher.action.INSTALL_SHORTCUT");
				// 加载app名
				String title = getResources().getString(R.string.app_name);
				// 加载app的logo
				Parcelable icon = Intent.ShortcutIconResource.fromContext(
						ShortCutsActivity.this, R.drawable.ic_launcher);
				//点击快捷方式后操作Intent,快捷方式建立后,再次启动该程序
				Intent intent = new Intent(ShortCutsActivity.this, ShortCutsActivity.class);
				//设置快捷方式的标题
				addShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
				//设置快捷方式的图标
				addShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
				//设置快捷方式对应的Intent
				addShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
				//发送广播添加快捷方式
				sendBroadcast(addShortCut);
//以上为主要示例代码_______________________________________________				

			}
		});
	}
}


对应的layout里的main.xml文件只是加了一个按钮,id是button1

本app的AndroidManifest.xml加了一行权限,

<uses-permissionandroid:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

 

程序运行的截图和效果如下:




点击按钮,弹出提示:




回头看桌面,快捷方式已经生成(其实多次点击可以重复生成很多个一样的)





  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值