2014-02-20 4 views
0

Я новичок в android и стараюсь поддерживать как можно больше версий, но я не могу понять, как избавиться от ошибок ворса.Поддержка нескольких версий Android?

IE:

getDefaultDisplay().getSize(point); // is a API 13 function so I try 

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2){ 
    getDefaultDisplay().getSize(point); // now I need older functions for old versions 
}else{ 
    getDefaultDisplay().getHeight(); 
    getDefaultDisplay().getWidth(); 
) 

Но я до сих пор есть ошибки, которые GETSIZE() является слишком высокой из API, и GetWidth()/высота(), являются устаревшими.

ответ

1

Вам необходимо предоставить аннотацию к методу, чтобы позволить IDE знать, что вы хотите разрешить его для определенных версий Android.

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) 

непосредственно перед определением методы следует сделать трюк

0

Если GETSIZE слишком высок, то просто использовать устаревшие методы. Они по-прежнему будут работать в более высоких версиях API. Есть только очень конкретные случаи, когда вы не должны этого делать, например, при использовании набора AlarmManager и setExact.

Смежные вопросы