后退键失灵

 

未能符合以下验证准则的规定
• 不得因为使用硬件而导致应用程序崩溃或导致发生故障 (如菜单、主页、后退、音量、保持键)。
• 当用户在执行应用程序时,硬件按键本身应能按预期正常工作。

缺陷示例

  1. 后退键不起作用。
    - 缺陷:使用后退键时,应用程序不能正常工作。
    - 解决方法:在使用后退键中断当前操作时,应用程序应返回上一页面,或终止运行。
  1. 后退键失灵。
    - 缺陷:当用户按下后退键时,应用程序被强行终止。
    - 缺陷:当用户按下后退键时,应用程序卡住。
    - 缺陷:当用户按下后退键时,应用程序显示弹窗或显示错误消息用户按下后退键时,应用程序被强行终止。

自检清单

  • [Ⅳ-6] 当用户按下硬件按键时,应用程序应能准确无误地执行操作,同时,应用程序仍保持运行状态(后退、照相机等)。

解决此问题的提示:

  • 自 Tizen 2.2 起,物理“菜单”键与“后退”键成为了 Tizen 的必备元件。因此,您的应用程序应基于 SDK 2.2 以上的版本构建,以便正确处理物理按键。
  • 对于 Web 应用程序,您可将事件句柄绑定在“tizenhwkey”事件,以处理物理菜单键和后退键。请参阅以下代码示例。

    // Javascriptcode
    $( window).on( "tizenhwkey", function ( ev ) {
    if ( ev.originalEvent.keyName === "back" ) {
    //call browser back if webApp dev. wants back behavior
    window.history.back(); 
    //add script if there is a need to add another behavior 
    // on H/W back key press
    }
    }
    
  • 对于本机应用程序,自 Tizen 2.2 起,您可以使用 IFormBackEventListener 和 IFormMenuEventListener 来处理物理菜单键和后退键。请参阅以下代码示例。

    class HWKeyForm 
    : public Tizen::Ui::Controls::IFormBackEventListener 
    , public Tizen::Ui::Controls::IFormMenuEventListener 
    { 
    public: 
    // IFormBackEventListener 
    virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source); 
    
    // IFormMenuEventListener 
    virtual void OnFormMenuRequested(Tizen::Ui::Controls::Form& source); 
    }; 
    
  • 有关如何处理物理菜单键和后退键的更多详情,请参阅“应用程序迁移指南 – Tizen 2.1 至 2.2”