For example, if I compile against 8.0 (Oreo) and install on a device > API 21 (KitKat) then Android will force the user to Accept Write privilege question (I can test for it and be part of the dialog, but the user must answer the question). If I compile against API 21 (Lollipop) or less, then Android will not force the use to answer the privilege question even if it's a newer version e.g. 8.0. When a client is dealing with hundreds of stores and devices they need them all to act in the same manner even if the devices are different Android versions. Relying on the user to answer the question correctly isn't an option. BTW, it took me many days to figure out how to get around the privilege question being asked because it wasn't asked on older device, but was asked on newer devices. Not much in the way of documentation on the issue on the internet. Later.