I have recently published android app (sdk version 4.2) in playstore. My requirement is that - this app should be visible in playstore on both - large screen devices (including Samsung Galaxy Tab 2 p3100), as well as normal screen devices. I also want my app to be displayed in devices (with version 2.2 - 4.2).
This is the code snippet, I was suggested for fulfilment of my requirement.
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true"
android:xlargeScreens="true"
/>
<uses-sdk android:minSdkVersion="8"
/>
There are two cases, depending on the above code.
When I include the above code in manifest.xml
Including above code in manifest seems to help me in fulfilling my requirement of making my app visible in market for both tablet and small screen devices. But, in that case, the app screens covers only half screen size of tablet, when downloaded from playstore / market as well as it is displayed in a similar manner (covering half screen part) while debugging in tablet.
When I don't include the above code in manifest.xml
Not including the above code in manifest, seems to work perfect while debugging the app, as the all screens of the app, are displayed perfectly on normal screen devices (phones) as well as on large / x-large screen devices (tablets), but only in case of debugging. The app becomes invisible in playstore for the tablets.
So, both the cases aren't the solution for my requirement.
permissions and features in manifest as below
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
And here is one of my layout (xml), that consumes only half screen-size when debugging on tablet.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/rl"
android:background="#000000"
android:focusableInTouchMode="true">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="40dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:background="#0074AF">
<LinearLayout
android:paddingLeft="5px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="10">
<TextView android:id="@+id/label"
android:layout_weight="8.8"
android:layout_marginLeft="5dip"
android:textSize="22sp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:textColor="#ffffff"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:text="@string/login"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/version_no"
android:layout_weight="1.2"
android:textSize="14sp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:textColor="#222222"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:text="@string/version"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="45dp"
android:background="@drawable/round_borders"
android:orientation="vertical"
android:paddingTop="10dp" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:textColor="#000000"
android:textSize="20px"
android:text="Username*"
android:id="@+id/user"/>
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:singleLine="true"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:textColor="#000000"
android:textSize="20px"
android:text="Password*"
android:id="@+id/pswd" />
<EditText
android:id="@+id/pass"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:singleLine="true"
android:password="true"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:textColor="#000000"
android:textSize="20px"
android:text="AccountId*" />
<EditText
android:id="@+id/accid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:inputType="date"
android:singleLine="true"
/>
<CheckBox android:id="@+id/check1"
android:layout_width="fill_parent"
android:textColor="#000000"
android:layout_height="wrap_content"
android:text="@string/remember_me" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
style="@style/RedButtons"
android:layout_width="270dip"
android:layout_height="50dip"
android:layout_marginTop="10dp"
android:gravity="center"
android:paddingBottom="3dp"
android:paddingTop="3dp"
android:id="@+id/login"
android:text="@string/login"
android:textSize="20sp" />
<Button
style="@style/RedButtons"
android:layout_width="0dip"
android:layout_height="0dip"
android:layout_marginTop="10dp"
android:layout_marginLeft="70px"
android:gravity="center"
android:paddingBottom="3dp"
android:paddingTop="3dp"
android:id="@+id/exit"
android:text="@string/exit"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:orientation="vertical">
<TextView
android:id="@+id/new_user_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16sp"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</ScrollView>
That works fine while debugging in both tablet and phone, the screens also appear fine, when I remove the code snippet of supports-screens and uses-sdk tags from the manifest.xml. But, that's not the actual solution (as the app will be hidden in playstore, in that case), I guess.
Please, let me know, what can be done in order to get rid off this problem.