onBackPressed的向后兼容性

时间:2011-01-11 13:17:53

标签: android backwards-compatibility

如果我在Android 1.5上使用onBackPressed(),我的应用程序崩溃了。如果在Android 1.5设备上运行,是否有可能停用此功能?

那里的代码不是绝对必要的,而是一个真正的“很好”,所以我想把它放在较新的设备上,然后把它放在较旧的设备上。

这可能吗?

编辑:我想我找到了它,只是旧方式:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
   if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
       // do something on back.
       return true;
   }

return super.onKeyDown(keyCode, event);
}

1 个答案:

答案 0 :(得分:3)

您可以尝试使用您的应用程序检测运行时的哪个版本的SDK,并根据它准备不同的分支。像:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event)  
{ 
    if(Build.VERSION.SDK_INT==Build.VERSION_CODES.CUPCAKE) //if it's 1.5
    {
       if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) 
       {        // do something on back.        
          return true;    
       }  
    }
    return super.onKeyDown(keyCode, event); 
}