Your manifest has
<uses-permission android:name="android.permission.READ_PHONE_STATE">
That permission automatically assumes you use the android.hardware.telephony
feature (as only phones have READ_PHONE_STATE
). Per the Optimizing for Android 3.0/Tablets document, your application will show as incompatible if you have the android.hardware.telephony
feature required. Add the line
<uses-feature android:name="android.hardware.telephony" android:required="false" />
To ensure devices without telephony will still show as compatible. Make sure that your application properly handles devices without telephony (as attempting to read the phone state will crash those devices).