Jo då, visst är det möjligt, vad du behöver göra är att kolla SDK versionen på telefonen appen körs på och välja metod utefter det.
Kod:
if(Build.VERSION.SDK_INT > 7){
Anropa din wrapper runt getExternalFilesDir();
}
else{
blablabla;
}
Notera:
Du måste sätta build target till SDK level 8 för att inte få syntax error i koden, programmet kommer fortfarande vara körbart på äldre versioner även om du bygger för lvl 8 om du inte använder methods som introducerats senare...
getExternalFilesDir() är en sådan och du måste därför skriva en wrapper runt den för att lura Dalvik VM lite... annars kommer du få Force Close (verify error) om du försöker använda den metoden direkt i din activity.
Så exempelvis skapar du en klass med namn: CompatibilityWrapperLvl8 som ser ut såhär:
Kod:
public static class CompatibilityWrapperLev8{
public static File getExternalFilesDir(Context context, String name){
return context.getExternalFilesDir(name);
}
}
Och i koden jag postade fört anropar du din wrapper klass istället för att anropa den methoden direkt...