मैं एंड्रॉइड एपीआई के आंतरिक कार्यों पर उलझन में हूं।
मेरे ऐप Android 5.0 के खिलाफ संकलित किया गया है, तो यह है कि एक डिवाइस पर निम्न काम करता चल रहा है Android 5.0 और ऊपर स्वीकार्य है:Build.VERSION_CODES संभवतः कैसे काम कर सकता है?
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
बहरहाल, यह अभी से काम करता है अगर मैं एक डिवाइस चल रहा है पर चला एंड्रॉइड के पुराने संस्करण। मेरी धारणा यह है कि उस डिवाइस पर लाइब्रेरी में परिवर्तनीय Build.VERSION_CODES.LOLLIPOP
की परिभाषा नहीं है। फिर जब ऐप इस कोड को चलाता है तो उन पुराने उपकरणों पर चर को कैसे हल किया जा सकता है?
संशोधन: 'Build.VERSION.SDK_INT' एक ['स्थिर अंतिम int'] है (http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/ 5.L_preview/एंड्रॉयड/ओएस/Build.java # 139)। लेकिन इसका मान एक [सिस्टम प्रॉपर्टी] पर निर्भर करता है (http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.L_preview/android/os/Build.java # 503) इसलिए इसे रनटाइम पर गणना की जानी चाहिए, जबकि 'Build.VERSION_CODES.LOLLIPOP' केवल एक ['int'] है (http://grepcode.com/file/repository.grepcode.com/java/ext/com .google.android/एंड्रॉयड/5.L_preview/एंड्रॉयड/ओएस/Build.java # 503)। – futtetennista