总体来说,为android应用创建快捷方式有两种方法,第一种是直接在清单文件里面进行注册,这种方式在android应用安装时系统就会生成相应的快捷方式了,另一种是在主Activity中写生成快捷方式的方法,这种方式在android应用第一次运行时系统才会创建快捷方式。下面我一一介绍这两种方式的实现:
一,在清单文件里面进行注册
<activity android:name="com.android.master.legend.widget.CreateSystemSettingsWidgetActivity" android:exported="true" android:icon="@drawable/ic_switcher_shortcut" android:label="@string/system_switcher_shortcut" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.CREATE_SHORTCUT" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
二,手动写生成方法
public static void createSystemSwitcherShortCut(Context context) { final Intent addIntent = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); final Parcelable icon = Intent.ShortcutIconResource.fromContext( context, R.drawable.ic_switcher_shortcut); // 获取快捷键的图标 addIntent.putExtra("duplicate", false); final Intent myIntent = new Intent(context, SystemSwitcherActivity.class); myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, context.getString(R.string.switch_widget));// 快捷方式的标题 addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);// 快捷方式的图标 addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);// 快捷方式的动作 context.sendBroadcast(addIntent); }