android桌面快捷方式跳转到指定activity
AndroidManifest.xml 应用主入口配置:
<activity android:name="com.*.cust.contacts.MainActivity" android:exported="true" android:label="@string/app_name" android:screenOrientation="portrait" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <!-- 自己定义的action,通过自己定义的action能够应用内调用 --> <action android:name="*.intent.action.SHORTCUT" /> <category android:name="android.intent.category.LAUNCHER" /> <!-- 必须加上这个。否则无法直接使用自定的action --> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
创建快捷方式:
// 自己定义action Intent intent = new Intent("*.intent.action.SHORTCUT"); Bundle bundle = new Bundle(); // 能够依据传递參数运行对应操作 bundle.putString("needgoto", "*activity"); intent.putExtras(bundle); // 创建桌面快捷方式 Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); // 是否同意反复创建 shortcutintent.putExtra("duplicate", true); // 须要显示的名称 shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name_1)); // 快捷图片 Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher); shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); // 点击快捷图片,运行的程序主入口 shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent); // 发送广播运行操作 sendBroadcast(shortcutintent);