1

I just created an Android application using Phonegap and deployed it to the store. It simply shows the content of a website. The problem I'm having is this application is visible to Mobile devices only, not tablets, even after including this in the manifest file:

<compatible-screens>
  <!-- all small size screens -->
  <screen android:screenSize="small" android:screenDensity="ldpi" />
  <screen android:screenSize="small" android:screenDensity="mdpi" />
  <screen android:screenSize="small" android:screenDensity="hdpi" />
  <screen android:screenSize="small" android:screenDensity="xhdpi" />
  <!-- all normal size screens -->
  <screen android:screenSize="normal" android:screenDensity="ldpi" />
  <screen android:screenSize="normal" android:screenDensity="mdpi" />
  <screen android:screenSize="normal" android:screenDensity="hdpi" />
  <screen android:screenSize="normal" android:screenDensity="xhdpi" />
  <screen android:screenSize="large" android:screenDensity="ldpi" />
  <screen android:screenSize="large" android:screenDensity="mdpi" />
  <screen android:screenSize="large" android:screenDensity="hdpi" />
  <screen android:screenSize="large" android:screenDensity="xhdpi" />
  <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
  <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
  <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
  <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
</compatible-screens>

I don't know what to do. The tablet I'm testing on is an Acer A100 7", running Android version 4.0.3.

UPDATES

Here is the manifest file:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.rakoty.rakoty"
  android:versionCode="1"
  android:versionName="1.0">
  <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />
  <supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:resizeable="true"
    android:anyDensity="true" />
  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.RECEIVE_SMS" />
  <uses-permission android:name="android.permission.RECORD_AUDIO" />
  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
  <uses-permission android:name="android.permission.READ_CONTACTS" />
  <uses-permission android:name="android.permission.WRITE_CONTACTS" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  <uses-permission android:name="android.permission.BROADCAST_STICKY" />
  <uses-permission android:name="android.permission.BROADCAST_STICKY" />
  <compatible-screens>
    <!-- the screen part from above -->
  </compatible-screens>
  <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
      android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
      android:name=".MainActivity"
      android:label="@string/title_activity_main" >
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
 </application>
</manifest>
dda
  • 5,700
  • 2
  • 23
  • 33
Mina Gabriel
  • 17,138
  • 23
  • 89
  • 118
  • I would recommend getting rid of the entire `` element. Quoting [the documentation](http://developer.android.com/guide/topics/manifest/compatible-screens-element.html), "Normally, you should not use this manifest element." Beyond that, post the rest of your manifest, so we can perhaps identify other things in there that are causing your problem. – CommonsWare Oct 22 '12 at 00:34
  • i already did it once as you said and it didn't work either so had to dig for a solution and i came up with the `` thing ...thanks – Mina Gabriel Oct 22 '12 at 00:53
  • 1
    Your problem lies in the "some other permissions" that you decided not to post, most likely. – CommonsWare Oct 22 '12 at 00:56
  • that was funny ... i edited the question – Mina Gabriel Oct 22 '12 at 01:16

1 Answers1

3

Based on what I can see in the Play Store, you have the RECORD_AUDIO permission in your manifest. By default, that means that the device has to have a microphone, and some tablets will not. Consider adding:

<uses-feature android:name="android.hardware.microphone" android:required="false" />

Similarly, you have the RECEIVE_SMS permission, which by default requires the device to have telephony capability, and most tablets do not. Please consider adding:

<uses-feature android:name="android.hardware.telephony" android:required="false" />

And so on.

I recommend that you compare your permissions with the instructions in the documentation to see what else you might need to add: http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions

CommonsWare
  • 910,778
  • 176
  • 2,215
  • 2,253
  • i copy and past this permission from the phonegap i don't really need any of these permission expect for the notification .... i will try this ... Thanks – Mina Gabriel Oct 22 '12 at 01:16
  • i just upgrade the app and the comparability devices list changed to include tablets as well ... Thanks i really appreciate this – Mina Gabriel Oct 22 '12 at 01:57