Android Question Incompatible Device

carloz

Member
Licensed User
Longtime User
Hello all,

Continuing this discussion from a previous(old ) thread..
One of my apps suddenly started to be shown as incompatible with some devices after a update on google play. As allways google play did not give a reason as to why it is incompatible.

I wrote to google developer support and they replied asap..apparently , some devices do not have a gps built in to its hardware. They advised me to set the "android.hardware.location.gps" required:false in the manifest.

Im using the b4a gps library , and theres no "android.hardware.location.gps" in the manifest !! i guess the gps library must add the permissions at runtime?
how do i modify this to make it "required:false"?

below is my manifest
B4X:
'This code will be applied to the manifest file during compilation.
'You do not need to modify it in most cases.
'See this link for for more information: http://www.b4x.com/forum/showthread.php?p=78136
AddManifestText(
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14"/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
'End of default text.
SetManifestAttribute("android:installLocation", "auto")
AddManifestText(<permission android:name="$PACKAGE$.permission.C2D_MESSAGE" android:protectionLevel="signature" />)
AddPermission($PACKAGE$.permission.C2D_MESSAGE)
AddPermission(com.google.android.c2dm.permission.RECEIVE)
' Push Service Receiver Attribute
SetReceiverAttribute(PushService, android:permission, "com.google.android.c2dm.permission.SEND")
' Service Receiver Text
AddReceiverText(PushService,
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="$PACKAGE$" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="$PACKAGE$" />
</intent-filter>)
 

DonManfred

Expert
Licensed User
Longtime User
how do i modify this to make it "required:false"?
you can add this to the manifest editor
RemovePermission(permissionname)
Replace permissionname with the name of the permission like in AddPermission()
 
Upvote 0

DavideV

Active Member
Licensed User
Longtime User
Some devices (generally tablets) have a fake gps hardware , add this line at the end of your manifest:

AddManifestText(<uses-feature android:name="android.hardware.location.gps" android:required="false"/>)

hope it helps, bye
 
Upvote 0
Top