I want to some permissions only for older devices for compatibility. So I did some research and found this here:
android:maxSdkVersion
The highest API level at which this permission should be granted to your app. Setting this attribute is useful if the permission your app requires is no longer needed beginning at a certain API level.For example, beginning with Android 4.4 (API level 19), it's no longer necessary for your app to request the WRITE_EXTERNAL_STORAGE permission when your app wants to write to its own application-specific directories on external storage (the directories provided by getExternalFilesDir()). However, the permission is required for API level 18 and lower. So you can declare that this permission is needed only up to API level 18 with a declaration such as this:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
I tried to implemented that, but it did not work. So I build up this simple test:
<uses-permission
android:name="android.permission.WRITE_SMS"
android:maxSdkVersion="3" />
As far I understand this permission should been only required for devices with the API levels 1-3, but I get this permission request even on a API 18 device. Did I something wrong or is this feature broken?