您的位置:首页 > 移动开发

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

2012-04-08 22:15 453 查看
作者:张君杰

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

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

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"/>

 

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



点击按钮,弹出提示:



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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息