サポートライブラリv4とtargetSdk 23が必要なAndroid用SDK(サポートライブラリも23である必要があります)があります。商業上の理由から、アプリケーションがAPI 21に対してコンパイルされていても動作するようにSDKをアップグレードする必要があります。実行時にサポートライブラリ/ AppCompatライブラリのバージョンをチェックする方法は?
つまり、サポートライブラリの一部の呼び出しは、サポートライブラリの現在のバージョンアプリは(ない現在のAPIレベル)ので、私は(最悪の最高によってランク付け)ここに3つのオプションがあります。
1 - これは私がどのように考え出したていないものです(メソッド呼び出しの前に、サポートライブラリのバージョンを確認します(もし可能ならば))。
2 - 反射を使用します。
3 - Try Catchブロックを使用します。
第1の選択肢として、実行時にサポートライブラリのバージョンをチェックすることは可能ですか?
サポートライブラリはバージョン情報を取得するためのAPIを公開しておらず、一般的に言えば、達成しようとしていることをサポートするようには設計されていません。 targetSdk 23を使用している場合、サポートライブラリのv23を使用する必要はありません。 – alanv
@alanvこのコードは、ルールを少し変更するApp用ではないSDK用です。 AppCompatV4リビジョン21またはリビジョン23がある場合、このコードを実行する必要があると考えてください。リビジョン23で導入されているため、リビジョン21では使用できないメソッドがいくつかあります。したがって、コードが実行しているバージョンクラッシュします。 – tomacco