为我们的安卓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"/>
程序运行的截图和效果如下:
点击按钮,弹出提示:
回头看桌面,快捷方式已经生成(其实多次点击可以重复生成很多个一样的)
对于桌面软件来说,在用户桌面能保留快捷方式的软件必然是深得用户喜爱的,留在桌面上能经常获得用户的关注从而增加使用频度,因此不少软件都会在安装的时候自动生成桌面快捷方式,尽管有点无赖。
对于安卓系统来说,我们也可以做到运行程序的时候自动生成桌面快捷方式。要生成桌面快捷方式,需要做到以下三步:
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"/>
程序运行的截图和效果如下:
点击按钮,弹出提示:
回头看桌面,快捷方式已经生成(其实多次点击可以重复生成很多个一样的)
相关文章推荐
- Android APP自动生成桌面快捷图标 启动方式有差异
- [安卓] 如何判断桌面已经添加APP应用的快捷方式
- APP生成桌面快捷方式
- android -- 小功能 为Activity生成桌面快捷方式
- php生成网页桌面快捷方式
- php生成网页桌面快捷方式
- php实现网站生成桌面快捷方式
- Android应用开发之(如何自动在桌面创建快捷方式)
- android自动添加程序桌面快捷方式
- 生成桌面快捷方式
- 将当前网址生成快捷方式在桌面(仅支持IE)
- Android开发:应用启动后自动创建桌面快捷方式(三星机常见)
- 如何为javaWeb项目的网址生成一个桌面快捷方式
- Android应用启动后自动创建桌面快捷方式
- 手动创建安卓关闭虚拟键背景灯桌面快捷方式
- Android用程序在桌面创建app快捷方式
- Android应用启动后自动创建桌面快捷方式
- android桌面快捷方式添加 删除 更新 自动运行
- ASP和PHP实现生成网站快捷方式并下载到桌面的方法
- ASP和PHP实现生成网站快捷方式并下载到桌面的方法