前人未踏の領域へ アプリ開発編

Android, iOSアプリ開発に関する調査メモ置き場。ほとんどAndroid。はてなダイアリーから移行したため古い記事にはアプリ以外も含まれます。

TargetApiアノテーションで1.6端末でVerifyErrorエラー

Android端末の複数バージョン対応としてTargetApiアノテーションを使って
以下のようなprivateメソッドを記述したところ
1.6端末でActivity起動時にVerifyErrorが発生した。

//呼び出し元
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
	PickerHoney.settingDatePickerHoneycomb(datePicker);
}

@TargetApi(11)
private void settingDatePickerHoneycomb(DatePicker picker) {
    //API Level 11以降で有効なメソッド
    picker.setCalendarViewShown(false);
}

どうやら事前チェックが行われる模様。
仕方が無いので別クラスにしたらエラーは回避できた。

@TargetApi(11)
public static class Hoge{
    public static void settingDatePickerHoneycomb(DatePicker picker) {
    //API Level 11以降で有効なメソッド
    	picker.setCalendarViewShown(false);
    }
}

まあ今から1.6をサポートすることも無いと思うけど一応。