添加桌面快捷方式
2012-02-22 09:07
183 查看
public void checkShortCut() {
final String vString = getAppVersionName(MyAppTest.this);
final SharedPreferences sp = getSharedPreferences("csw", 0);
// 是否在桌面上添加了快捷方式
boolean never_check_shortCut = sp.getBoolean("isShowIcon" + vString,
false);
// 存在快捷方式或者不允许添加,return
if (never_check_shortCut) {
return;
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(MyAppTest.this);
builder.setTitle("温馨提示");
builder.setMessage("是否创建桌面快捷方式?");
builder.setPositiveButton("创建", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
addShortCut();
// 保存已经添加了快捷方式的信息,以便程序下次启动的不再提示
Editor editor = sp.edit();
editor.putBoolean("isShowIcon" + vString, true);
editor.commit();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.create().show();
}
}
public void addShortCut() {
// 添加快捷方式
// 指定快捷方式的Action
Intent installShortCut = new Intent(
"com.android.launcher.action.INSTALL_SHORTCUT");
// 添加快捷方式的名称
installShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME,
getString(R.string.app_name));
installShortCut.putExtra("duplicate", false);
// 下面NewAppActivity是我这边当前的activity名字,用的时候可以适当改成你自己的activity名
ComponentName comp = new ComponentName(MyAppTest.this.getPackageName(),
"." + MyAppTest.this.getLocalClassName());
installShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
Intent.ACTION_MAIN).setComponent(comp));
// 指定图标
ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(
MyAppTest.this, R.drawable.icon);
installShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
// 发送广播
sendBroadcast(installShortCut);
}
public String getAppVersionName(Context context) {
String versionName = "";
try {
PackageManager pm = context.getPackageManager();
PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
versionName = pi.versionName;
if (versionName == null || versionName.length() <= 0) {
return "";
}
} catch (Exception e) {
Log.e("VersionInfo", "Exception", e);
}
return versionName;
}
final String vString = getAppVersionName(MyAppTest.this);
final SharedPreferences sp = getSharedPreferences("csw", 0);
// 是否在桌面上添加了快捷方式
boolean never_check_shortCut = sp.getBoolean("isShowIcon" + vString,
false);
// 存在快捷方式或者不允许添加,return
if (never_check_shortCut) {
return;
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(MyAppTest.this);
builder.setTitle("温馨提示");
builder.setMessage("是否创建桌面快捷方式?");
builder.setPositiveButton("创建", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
addShortCut();
// 保存已经添加了快捷方式的信息,以便程序下次启动的不再提示
Editor editor = sp.edit();
editor.putBoolean("isShowIcon" + vString, true);
editor.commit();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.create().show();
}
}
public void addShortCut() {
// 添加快捷方式
// 指定快捷方式的Action
Intent installShortCut = new Intent(
"com.android.launcher.action.INSTALL_SHORTCUT");
// 添加快捷方式的名称
installShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME,
getString(R.string.app_name));
installShortCut.putExtra("duplicate", false);
// 下面NewAppActivity是我这边当前的activity名字,用的时候可以适当改成你自己的activity名
ComponentName comp = new ComponentName(MyAppTest.this.getPackageName(),
"." + MyAppTest.this.getLocalClassName());
installShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
Intent.ACTION_MAIN).setComponent(comp));
// 指定图标
ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(
MyAppTest.this, R.drawable.icon);
installShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
// 发送广播
sendBroadcast(installShortCut);
}
public String getAppVersionName(Context context) {
String versionName = "";
try {
PackageManager pm = context.getPackageManager();
PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
versionName = pi.versionName;
if (versionName == null || versionName.length() <= 0) {
return "";
}
} catch (Exception e) {
Log.e("VersionInfo", "Exception", e);
}
return versionName;
}
相关文章推荐
- Android 添加、移除和判断 桌面快捷方式图标
- Android中程序向桌面和Launcher添加快捷方式【安卓进化三十二】
- Android添加快捷方式(Short)到手机桌面
- 添加桌面快捷方式
- Fedora17设置终端快捷键 和 添加桌面快捷方式
- Android中程序向桌面和Launcher添加快捷方式
- 如何在android桌面添加几个app图标做快捷方式?
- Android开发之向桌面添加快捷方式
- WinCE桌面添加应用程序的快捷方式
- Ubuntu中为Eclipse添加桌面启动快捷方式
- 关于如何添加桌面快捷方式
- Android 向桌面添加快捷方式
- Android添加快捷方式(ShortCut)到手机桌面
- 创建快捷方式 (并添加到快速启动栏 、桌面、开始菜单)
- 【Android】添加删除桌面快捷方式
- Ubuntu添加自己的桌面快捷方式
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- [转] Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- 把网址添加到桌面-在本地创建网站的快捷方式
- Android添加桌面快捷方式和删除桌面快捷方式