Android通过应用程序创建快捷方式的方法

本文实例讲述了Android通过应用程序创建快捷方式的方法。分享给大家供大家参考。具体如下:

Android 快捷方式是桌面最基本的组件。它用于直接启动某一应用程序的某个组件。

一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式。另外,还可以通过两种方式在桌面上添加快捷方式:

一:在应用程序中创建一个Intent,然后以Broadcast的形式通知Launcher创建一个快捷方式。

二:为应用程序的组件注册某一个符合特定条件的IntentFilter,然后可以直接在Launcher的桌面添加启动该组件的快捷方式。

下面模拟在应用程序中添加快捷方式

main.xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button android:id="@+id/createShortcut"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:layout_gravity="center_horizontal"
  android:textSize="20px"
  android:text="创建快捷键"/>
 <Button android:id="@+id/exit"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:layout_gravity="center_horizontal"
  android:textSize="20px"
  android:text="退出"/>
</LinearLayout>

清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.ljq.action" android:versionCode="1"
 android:versionName="1.0">
 <application android:icon="@drawable/icon"
  android:label="@string/app_name">
  <activity android:name=".ShortCutAction"
   android:label="@string/app_name">
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category
     android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>
 </application>
 <uses-sdk android:minSdkVersion="7" />
 <!-- 添加快捷键权限 -->
 <uses-permission
  android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
</manifest>

ShortCutAction类:

package com.ljq.action;
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;
/**
 * 通过应用程序创建快捷方式
 *
 * @author jiqinlin
 *
 */
public class ShortCutAction extends Activity implements OnClickListener{
 private Button createShortcut=null; //创建快捷键按钮
 private Button exit=null;//退出系统
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  createShortcut=(Button)findViewById(R.id.createShortcut);
  exit=(Button)findViewById(R.id.exit);
  createShortcut.setOnClickListener(this);
  exit.setOnClickListener(this);
 }
 public void onClick(View v) {
  //Button btn=(Button)v;
  switch (v.getId()) {
  case R.id.createShortcut:
   //String title=getResources().getString(R.string.title);
   Intent addIntent=new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
   Parcelable icon=Intent.ShortcutIconResource.fromContext(this, R.drawable.png); //获取快捷键的图标
   Intent myIntent=new Intent(this, ShortCutAction.class);
   addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷方式");//快捷方式的标题
   addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);//快捷方式的图标
   addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);//快捷方式的动作
   sendBroadcast(addIntent);//发送广播
   break;
  case R.id.exit:
   System.exit(0);
   break;
  }
 }
}

运行结果:

希望本文所述对大家的Android程序设计有所帮助。

(0)

相关推荐

  • Android应用创建多个快捷方式

    有时候如果想让我们的应用在桌面上创建多个快捷方式,我们可以在Manifest.xml文件中对相应的activity进行声明. <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.Light" > <activity android:name=".Pu

  • Android应用创建桌面快捷方式代码

    android的快捷方式比较简单,就是发一个系统的广播,然后为快捷方式设置Intent--- package com.xikang.android.slimcoach.utils; /** * @author huiych * 创建快捷方式 * @created 2013-02-21 * */ import android.content.Intent; import android.os.Parcelable; import com.xikang.android.slimcoach.AppXi

  • Android中创建快捷方式代码实例

    1.添加权限(必须) 复制代码 代码如下: <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 2.添加快捷键 复制代码 代码如下: public static void setupShortcut(Activity activity)     {         Intent shortcutIntent = new Intent(activity, Mai

  • android编程实现为程序创建快捷方式的方法

    本文实例讲述了android编程实现为程序创建快捷方式的方法.分享给大家供大家参考,具体如下: /** * 为程序创建桌面快捷方式 */ private void addShortcut(){ Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); //快捷方式的名称 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.st

  • Android中创建快捷方式及删除快捷方式实现方法

    /** * * 创建快捷方式 * @param map 快捷方式图标 * @param appName 快捷方式标题 * @param appUrl 快捷方式打开的地址 * @param iconUrl 快捷方式图标地址 * * */ public static void createShortcut(Context activity ,Bitmap map ,String appName ,String appUrl ,String iconUrl){ Intent shortcut = ne

  • Android 创建/验证/删除桌面快捷方式(已测试可用)

    测试环境为Adnroid 2.1以上. 第一步:AndroidManifest.xml 权限配置: 添加快捷方式权限: 复制代码 代码如下: <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> 验证快捷方式是否存在权限: 复制代码 代码如下: <uses-permission android:name="com.android.launcher.

  • Android的Launcher启动器中添加快捷方式及小部件实例

    前言: 最近一直在看Launcher模块,经过差不多两个月学习,终于摸透了Launcher的一些主要功能实现,目前继续还处于 摸索状态.未看Launcher时,于我而言,只能膜拜,以为所有功能都是它实现的 :入门后,才发现,Launcher的很多功能只是 集成了框架/应用程序提供的功能.很多陌生的东西,只有接触了才感叹:"oh ,原来是这样的!" 添加快捷方式 今天先给大家分享下Launcher如何实现添加快捷方式(Shortcut) ,后续会慢慢增加其他方面的功能,帮助大家"

  • android 为应用程序创建桌面快捷方式技巧分享

    我们开发一款软件后,如果手机装的软件过多,去翻的话会很难翻的,所以,在主页面有一个快捷方式的话会很不错的,下面是详细代码: 复制代码 代码如下: /** * 创建桌面快捷方式 */ private void createShortcut() { SharedPreferences setting = getSharedPreferences("silent.preferences", 0); // 判断是否第一次启动应用程序(默认为true) boolean firstStart =

  • 解析Android应用启动后自动创建桌面快捷方式的实现方法

    要不怎么说Android特别开放呢,在Android开发中,只要发送一个广播,就可以实现这种需求了. 废话不多说,以下是封装好的一段代码. 复制代码 代码如下: public class ShortcutUtil { public static void createShortCut(Activity act, int iconResId,              int appnameResId) { // com.android.launcher.permission.INSTALL_SH

  • Android编程实现向桌面添加快捷方式的方法

    本文实例讲述了Android编程实现向桌面添加快捷方式的方法.分享给大家供大家参考,具体如下: 有时候为了使用方便,需要在桌面上添加快捷方式,下面是两种添加快捷方式的方法: 方法1: void setshortCut() { Intent addShortcut = new Intent(); // 设置快捷方式的名字 addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷方式练习"); // 构建快捷方式中专门的图标 Parcelab

  • Android编程实现创建,删除,判断快捷方式的方法

    本文实例讲述了Android编程实现创建,删除,判断快捷方式的方法.分享给大家供大家参考,具体如下: /** * 为程序创建桌面快捷方式 ,这样写,在程序卸载的时候,快捷方式也会一并删除 */ private void addShortcut() { Intent shortcutIntent = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); // 快捷方式的名称 shortcutIntent.putExtra

  • Android添加(创建)、删除及判断是否存在桌面快捷方式的方法

    本文实例讲述了Android添加(创建).删除及判断是否存在桌面快捷方式的方法.分享给大家供大家参考.具体实现方法如下: /** * 判断桌面是否已添加快捷方式 * * @param cx * @param titleName * 快捷方式名称 * @return */ public static boolean hasShortcut(Context cx) { boolean result = false; // 获取当前应用名称 String title = null; try { fin

  • Android实现向Launcher添加快捷方式的方法

    本文实例讲述了Android实现向Launcher添加快捷方式的方法.分享给大家供大家参考.具体如下: 当我们在应用程序Launcher的桌面空白处长按触摸时,会出现一个对话框,提示选择要添加的桌面组件,如下图所示 选择快捷方式后,会弹出一个对话框,显示出了可添加快捷方式的Activity所属的应用程序的图标和名称的列表.当我们想把添加快捷方式的Activity添加到这一列表时,只需要在这个Activity注册时添加一个Action为android.intent.action.CREATE_SH

随机推荐