My android application have functionality pick contact,location listing,access incoming&outgoing calls etc...Here is the manifest file.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xxxxx"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="9" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.location"
android:required="false" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application>
</activity>
</service>
</receiver>
</application>
</manifest>
How can i make my application visible for all devices including Tablets?
If i set uses-feature
required="false" , then is it necessary to check the existence of hardware through code by using getPackageManager().hasSystemFeature(PackageManager.FEATURE_XXX)
?
Does the code crash when user try to pick contacts from a device using new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI)
which does not have Contacts application?
Which is the feature related to READ_CONTACTS
permission?
How can i handle this effectively because i used Broadcast Receivers for listening incoming and outgoing calls which is fired from manifest as well as from code and does it lead to crash if the device does not have telephony feature ?
Thanks in Advance