安卓代码中创建快捷方式

2014-12-03 14:52:24
    1. <span style='white-space:pre'></span>/**
    2. * 判断是否已经添加快捷方式
    3. * content://com.cyanogenmod.trebuchet.settings/favorites 不同的手机,launcher.db数据库放到地方不同
    4. * @return
    5. */
    6. private boolean shortcutInScreen() {
    7. Cursor cursor = getContentResolver()
    8. //content://com.android.launcher/favorites
    9. .query(Uri.parse('content://com.cyanogenmod.trebuchet.settings/favorites'),
    10. null,
    11. 'intent like ?',
    12. new String[] { '%component=com.jike.superflashlight/.MainActivity%' },
    13. null);
    14. if (cursor.getCount() > 0) {
    15. return true;
    16. } else {
    17. return false;
    18. }
    19. }
    20. /**
    21. * 添加桌面快捷方式按钮
    22. *
    23. * @param view
    24. */
    25. public void onClickAddShortcut(View view) {
    26. if (!shortcutInScreen()) {
    27. Intent installShortcut = new Intent(
    28. 'com.android.launcher.action.INSTALL_SHORTCUT');
    29. installShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, '应用的名称');
    30. Parcelable icon = Intent.ShortcutIconResource.fromContext(this,
    31. R.drawable.icon);
    32. // 启动主窗口
    33. Intent flashlightIntent = new Intent();
    34. flashlightIntent.setClassName('com.jike.superflashlight',
    35. 'com.jike.superflashlight.MainActivity');
    36. flashlightIntent.setAction(Intent.ACTION_MAIN);
    37. flashlightIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    38. // 快捷图标,添加flashlightIntent意图,打开主界面
    39. installShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
    40. flashlightIntent);
    41. // 发送广播
    42. sendBroadcast(installShortcut);
    43. Toast.makeText(this, '已成功将快捷方式添加到桌面', Toast.LENGTH_SHORT).show();
    44. } else {
    45. Toast.makeText(this, '快捷方式已存在,无法继续添加!', Toast.LENGTH_SHORT).show();
    46. }
    47. }
    48. /**
    49. * 移除快捷方式按钮
    50. *
    51. * @param view
    52. */
    53. public void onClickRemoveShortcut(View view) {
    54. if (shortcutInScreen()) {
    55. // 删除快捷图标意图
    56. Intent uninstallShortcut = new Intent(
    57. 'com.android.launcher.action.UNINSTALL_SHORTCUT');
    58. uninstallShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, '应用的名称');
    59. // 启动主界面意图
    60. Intent flashlightIntent = new Intent();
    61. flashlightIntent.setClassName('com.jike.superflashlight',
    62. 'com.jike.superflashlight.MainActivity');
    63. uninstallShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
    64. flashlightIntent);
    65. flashlightIntent.setAction(Intent.ACTION_MAIN);
    66. flashlightIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    67. sendBroadcast(uninstallShortcut);
    68. } else {
    69. Toast.makeText(this, '没有快捷方式,无法删除!', Toast.LENGTH_SHORT).show();
    70. }
    71. }</span>
    (0)

    相关推荐