私は Android サポート ライブラリ v4 と v7 を使用しています。Android 開発者ページからライブラリをセットアップしました。
ただし、メソッド呼び出しと混同しています。たとえば、次のメソッドです。
invalidateOptionsMenu();
API レベル 11+ でのみ動作しますが、次のような互換性のあるバージョンがあります。
ActivityCompat.invalidateOptionsMenu(this);
したがって、次のように両方のコードを追加する必要があるのではないかと思います。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
invalidateOptionsMenu();
} else
ActivityCompat.invalidateOptionsMenu(this);
これは必要ですか、それとも互換性のあるバージョンだけが必要ですか?
互換版を使えば十分のようです。
ただし、この種のコードをよく見つけました。
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
}
では、この条件判定は何を目的としているのだろうか。