0

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

Asha Soman
  • 1,846
  • 1
  • 18
  • 28
  • http://stackoverflow.com/questions/17673640/android-my-app-is-not-supporting-galxy-s-4/17738629#17738629 – T_V Aug 30 '13 at 05:00

1 Answers1

0

One thing is to change the android:targetSdkVersion="9" to something newer. 18 is the latest version of the API acording to the Android SDK manager. Then the app should be visible with the newest versions. Of course you need to check that it actually works on those platforms as well.

joonasj
  • 551
  • 2
  • 6
  • 19