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 ; } } }

运行结果


转自:http://www.cnblogs.com/linjiqin/archive/2011/02/28/1967187.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值