私のアプリケーションは、Android バージョン 2.3.3 (SDK 10) 以降をサポートしています。私は簡単なコードを持っています:
private void setBackgroundToView(View view, Drawable drawable) {
if (Build.VERSION.SDK_INT >= 16) {
view.setBackground(drawable);
} else {
view.setBackgroundDrawable(drawable);
}
}
Android 4.0.3 を搭載した GT-I9100G では、sdk バージョン 15 がログに続くことがわかりました。
I/dalvikvm(13683): Could not find method android.view.View.setBackground, referenced from method %some_package%.setBackgroundToView
Build.VERSION.SDK_INT
15 以上の値を持つことを意味します。
この場合、サポートされていないメソッドの不正な呼び出しを防ぐにはどうすればよいですか?
ファームウェアを搭載したすべてのデバイスと OS バージョンは、同じ SDK バージョンに対して同じ sdk_int を持っていますか?
Build.VERSION.RELEASE を使用して、バージョン番号を追加で確認できますか?