events.d.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. declare namespace events {
  2. interface KeyEvent {
  3. getAction();
  4. getKeyCode(): number;
  5. getEventTime(): number;
  6. getDownTime(): number;
  7. keyCodeToString(keyCode: number): string;
  8. }
  9. function emitter(): EventEmitter;
  10. function observeKey(): void;
  11. type Keys = 'volume_up' | 'volume_down' | 'home' | 'back' | 'menu';
  12. function setKeyInterceptionEnabled(key: Keys, enabled: boolean);
  13. function setKeyInterceptionEnabled(enabled: boolean);
  14. function onKeyDown(keyName: Keys, listener: (e: KeyEvent) => void): void;
  15. function onceKeyUp(keyName: Keys, listener: (e: KeyEvent) => void): void;
  16. function removeAllKeyDownListeners(keyName: Keys): void;
  17. function removeAllKeyUpListeners(keyName: Keys): void;
  18. function observeTouch(): void;
  19. function setTouchEventTimeout(timeout: number): void;
  20. function getTouchEventTimeout(): number;
  21. function onTouch(listener: (point: Point) => void): void;
  22. function removeAllTouchListeners(): void;
  23. function on(event: 'key' | 'key_down' | 'key_up', listener: (keyCode: number, e: KeyEvent) => void): void;
  24. function on(event: 'exit', listener: () => void): void;
  25. function observeNotification(): void;
  26. function observeToast(): void;
  27. /**
  28. * 系统Toast对象
  29. */
  30. interface Toast {
  31. /**
  32. * 获取Toast的文本内容
  33. */
  34. getText(): string;
  35. /**
  36. * 获取发出Toast的应用包名
  37. */
  38. getPackageName(): void;
  39. }
  40. function onToast(listener: (toast: Toast) => void): void;
  41. /**
  42. * 通知对象,可以获取通知详情,包括通知标题、内容、发出通知的包名、时间等,也可以对通知进行操作,比如点击、删除。
  43. */
  44. interface Notification {
  45. number: number;
  46. when: number;
  47. getPackageName(): string;
  48. getTitle(): string;
  49. getText(): string;
  50. click(): void;
  51. delete(): void;
  52. }
  53. function on(event: 'notification', listener: (notification: Notification) => void): void;
  54. }
  55. /**
  56. * 按键事件中所有可用的按键名称
  57. */
  58. declare enum keys {
  59. home,
  60. back,
  61. menu,
  62. volume_up,
  63. volume_down
  64. }
  65. interface EventEmitter {
  66. defaultMaxListeners: number;
  67. addListener(eventName: string, listener: (...args: any[]) => void): EventEmitter;
  68. emit(eventName: string, ...args: any[]): boolean;
  69. eventNames(): string[];
  70. getMaxListeners(): number;
  71. listenerCount(eventName: string): number;
  72. on(eventName: string, listener: (...args: any[]) => void): EventEmitter;
  73. once(eventName: string, listener: (...args: any[]) => void): EventEmitter;
  74. prependListener(eventName: string, listener: (...args: any[]) => void): EventEmitter;
  75. prependOnceListener(eventName: string, listener: (...args: any[]) => void): EventEmitter;
  76. removeAllListeners(eventName?: string): EventEmitter;
  77. removeListener(eventName: string, listener: (...args: any[]) => void): EventEmitter;
  78. setMaxListeners(n: number): EventEmitter;
  79. }