stoefln
stoefln

Reputation: 14556

android: device not supported by app- why?

I am currently developing a camera app. Now one of the users is complaining that his device is not supported. It's a Acer A200:

I don't see any reason why android market / google play marks the app as not supported for this device. Do you know what might be the reason?

Here is the manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.ttttrash.myapp"
    android:versionCode="32"
    android:versionName="3.2" >

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:hardwareAccelerated="true">
        <activity
            android:name=".CameraActivity"
            android:configChanges="keyboard|orientation|keyboardHidden"
            android:label="@string/app_name"
            android:windowSoftInputMode="adjustPan" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.media.action.IMAGE_CAPTURE" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="net.ttttrash.myapp.PreferenceActivity"
            android:label="@string/set_preferences" >
        </activity>
        <activity 
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
        </activity>

    </application>

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="8" />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

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

</manifest>

Upvotes: 9

Views: 11614

Answers (5)

oliversisson
oliversisson

Reputation: 2309

I was getting "supported by 150 devices" and changed this by lowering my minSdkVersion from 28 to 24.

Upvotes: 0

Entreco
Entreco

Reputation: 12900

I once had the same issue, when it turned out that the user installed a custom rom. This custom rom had a bug in the Camera (e.g. the camera was not supported, which is quite common for roms), and that was causing the app to not be compatible...

Also, double check in your google play developer account, if the Acer A200 is amongst the supported devices. E.g. in the developer console, check Device Catalogue under Release Management! There, you can search for your device, and you can see if the device is supported.enter image description here

Upvotes: 2

stoefln
stoefln

Reputation: 14556

Thanks to Entreco I found the answer. Just looked up the supported devices in my app settings. Then, by comparing the feature specifications of the not supported tablet (Acer Iconia A200) to a supported device (A510 tablet) I found the answer: The A200 does not have a rear camera. So what's def. missing is following entry in the manifest:

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

enter image description here

Upvotes: 5

Caner
Caner

Reputation: 59198

Ok, this is a long shot, but could it be the camera is disabled for some reason on that particular device?

It seems that the following permission:

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

Implies that your app is using android.hardware.camera and android.hardware.camera.autofocus features. However you defined only android.hardware.camera.autofocus as non-mandatory. So try adding:

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

Details about google play application filtering

Upvotes: 4

David Wasser
David Wasser

Reputation: 95578

Add this to your manifest:

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

I'm assumuing that leaving out explicit support for tablets (xlargeScreens) causes Google Play to consider it unsupported.

Upvotes: 4

Related Questions