سؤال

I have created an Application compatible only for Android Tabs. The Manifest.xml declaration for the App is :

  <supports-screens android:smallScreens="false"
              android:normalScreens="false"
              android:largeScreens="true"
              android:xlargeScreens="true"
              android:requiresSmallestWidthDp="600" />   

<uses-permission android:name="in.wptrafficanalyzer.locationingooglemapv2.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.tab.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

I am able to download the App from the Google Play Store, but when I try to download from Google Nexus 7 Tab, I am getting the following error :

This App is incompatible with your Nexus 7 / The Item is not compatible with your device

Please help me on what changes required on the manifest declaration to make App compatible with Nexus 7

Note : I am also using the following Tag in the Manifest.xml file

 <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />
هل كانت مفيدة؟

المحلول

Per the Permissions that Imply Feature Requirements page, android.permission.CALL_PHONE implies android.hardware.telephony, which of course the Nexus 7 does not have. Make sure that telephony is not considered required by adding the following line to your Manifest:

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

نصائح أخرى

Add below line in your supports-screens Tag,

android:anyDensity="true"

And add uses-feature Tag in manifest,

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

I think perhaps the problem is that the App requesting permission to things that don't exist on Nexus 7 Tab.
This permission in your manifest implicitly declares the "android.hardware.telephony" feature. Nexus 7 Tab support this?
Refer to the document: http://developer.android.com/guide/topics/manifest/uses-feature-element.html#market-feature-filtering

<uses-permission android:name="android.permission.CALL_PHONE" />

Try this, keep the permission, but declare the "telephony" feature as false.

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

If it's not work, maybe you should change the "normalScreens" setting or "requiresSmallestWidthDp" setting and try again.

With the Open GL feature below,

<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />

This setting will exclude the devices not support OpenGL ES 2.0, but the GPU in Nexus 7 is ULP GeForce, which OpenGL ES Version is 2.0 .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top