Many features in Android require a uses-permission to be set in the manifest. These values then determine what devices will see them in the Market. However, what should be d
What is a general solution for this problem?
For that specific problem, add <uses-feature android:name="android.hardware.telephony" android:required="false"/> to your manifest, to indicate that this feature is optional. You can then use PackageManager and hasSystemFeature() to determine if a device has the non-required feature at runtime.