相信大家在使用很多的应用的时候都碰到过这样的一个情景,那就是当我们第一次点击使用这个应用的时候程序会主动的为我们创建一个桌面上的快捷方式,这样的好处是可以让用户更加方便的进入这个应用,省去找的麻烦。有句话曾经说,谁占据了PC桌面客户端谁就是王者,像QQ,360等都是。所以我们在做开发的时候肯定也会有用到这一点,那么今天我就和大家分享实现的这样的一个功能。其实不难,你只需要在你的应用程序启动的第一个Activity里添加这样的一个方法:
[java] view plaincopyprint?
/**
* 创建快捷方式
*/
public void createDeskShortCut() {
Log.i("coder", "------createShortCut--------");
// 创建快捷方式的Intent
Intent shortcutIntent = new Intent(
"com.android.launcher.action.INSTALL_SHORTCUT");
// 不允许重复创建
shortcutIntent.putExtra("duplicate", false);
// 需要现实的名称
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
getString(R.string.app_name));
// 快捷图片
Parcelable icon = Intent.ShortcutIconResource.fromContext(
getApplicationContext(), R.drawable.ic_launcher);
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
Intent intent = new Intent(getApplicationContext(),
AndroidLayoutActivity.class);
// 点击快捷图片,运行的程序主入口
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
// 发送广播。OK
sendBroadcast(shortcutIntent);
}
如果只是添加这些代码,当你卸装你的应用程序的时候你又会发现存在一个问题就是你的应用程序虽然卸载了,可是桌面上的快捷方式并未卸载。呵呵,其实你只要在你要设置对应启动进入的那个Intent加上这么下面的两个属性就是表明与你的应用绑定了。
[java] view plaincopyprint?
// 下面两个属性是为了当应用程序卸载时桌面上的快捷方式会删除
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.LAUNCHER");
给上完整的代码:
[java] view plaincopyprint?
package com.jiahui.layout;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
public class AndroidLayoutActivity extendsActivity {
/**Called when the activity is first created. */
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_personal_info);
SharedPreferencespreferences = getSharedPreferences("first",
Context.MODE_PRIVATE);
booleanisFirst = preferences.getBoolean("isfrist", true);
if(isFirst) {
createDeskShortCut();
}
SharedPreferences.Editoreditor = preferences.edit();
editor.putBoolean("isfrist",false);
editor.commit();
}
}
哦,亲,千万别忘记在AndroidManifest.xml加上下面的这个权限:
<uses-permissionandroid:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
http://blog.csdn.net/jiahui524
- 大小: 47.5 KB
分享到:
相关推荐
在VC中为应用程序添加图形超链接功能.doc
Android中为应用添加多个Activity并实现参数传递案例!
本文给大家分享了Visual C++中为普通程序添加ODBC应用。
Android中为EditText添加边框的代码清单.pdf 学习资料 复习资料 教学资源
Android中为自定义视图添加单击事件的代码清单.pdf 学习资料 复习资料 教学资源
Android中为TextView添加超链接的代码清单.pdf 学习资料 复习资料 教学资源
Android中为字符串添加修饰的练习题代码清单.pdf 学习资料 复习资料 教学资源
Android中为字符串添加修饰的练习题要求说明.pdf 学习资料 复习资料 教学资源
Android中为字符串添加修饰的练习题实现提示与解决方案(共9张PPT).ppt
一般情况下,界面上某行文字下面有一行蓝色的横线,标志该字符串提供超链接功能,当用户将鼠标移动到文字上时,鼠标变成手状,如果用户此时单击鼠标,程序将启动浏览器打开某个网页或启动OutLook让用户给指定的邮箱...
Android中为绘制的几何图形添加事件的任务要求.pdf 学习资料 复习资料 教学资源
Android中为View添加事件监听的使用说明(以Button为例).pdf 学习资料 复习资料 教学资源
Kustomer Android SDK - 在Android应用中为您的客户提供支持
Android中为图标加上数字--用于未读短信数提醒,待更新应用数提醒等 对应博客 http://blog.csdn.net/michael__li/article/details/6941756
试图在android中为webrtc提供codelab-类似于http://codelabs.developers.google.com/codelabs/webrtc-web上的codelab/
这是一个Android库,它通过提示用户使用友好的材料设计BottomSheet在Google Play商店中为您的应用程序评分,从而帮助推广您的Android应用程序。 用法 要使用这个有用的库,您可以通过Gradle获取它: ...
动机 在Kotlin中为Android创建的动机应用程序 使用示例:
fyp-android-socket-test 一个简单的应用程序,用于在 Android 中为 FYP 测试套接字
在VC++开发软件过程中,为软件添加启动界面程序
gazebo中为行人添加碰撞属性:actor_collisions.zip 具体使用方法参见博客: https://blog.csdn.net/allenhsu6/article/details/114068662