我開發使用Android的向後代碼兼容性
android.hardware.Camera.parameters.getSupportedPictureSizes()
這隻能從SDK版本8,我想一個應用程序後與SDK 4兼容,所以我這樣做:
如果(Build.VERSION.SDK_INT> = 8){...}
但在模擬器上,它煤層,它試圖檢查參考這個功能,它失敗:
11月2日至2日:20:10.930:ERROR/dalvikvm(1841):找不到方法android.hardware.Camera $ Parameters.getSupportedPictureSizes,從方法com.test.demo.CameraCustom.takeAPicture
有關如何解決這個向後兼容性問題的任何想法引用?
我試着用這段代碼在surfaceChanged裏面使用這個代碼。顯然,代碼工作的情況下直接invokation:
try{
windowmanager_defaultdisplay_Rotation = getWindowManager().getDefaultDisplay().getClass().getMethod("getRotation");
Log.v(MainMenu.TAG, "getRotation exist");
}catch(Exception e){
Log.v(MainMenu.TAG, "getRotation dont exist");
}
try{
windowmanager_defaultdisplay_Rotation.invoke(null, null);
Log.v(MainMenu.TAG, "getRotation invoking ok, rotation ");
}catch(Exception e){
Log.v(MainMenu.TAG, "exception invoking getRotation "+e.toString());
}
我得到「getRotation存在」但隨後「異常調用getRotation顯示java.lang.NullPointerException
任何想法
是的,我認爲我應該這樣做:http://developer.android.com/resources/articles/backward-compatibility.html,謝謝! – zegnus 2011-02-02 16:24:58