lost_in_transference
lost_in_transference

Reputation: 87

android play store is filtering my app from tablets, possibly other devices

I have several versions of an app live on Play, and I'm getting feedback that they don't appear on tablets. I've seen this and this and this, but as you can see they don't seem to apply. I explicitly support all screens and mark telephony as non-required, and I don't use copy protection since my app is free to end users. Can anyone see a problem?

My manifest:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      android:versionCode="1"
      android:versionName="12.0" package="com.example.app">
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11"/>
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_CALENDAR" />
    <uses-permission android:name="android.permission.READ_CALENDAR" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <permission android:name="com.example.app.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.example.app.permission.C2D_MESSAGE" /> 
    <!-- App receives GCM messages. -->
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <!-- GCM connects to Google Services. -->
    <uses-permission android:name="android.permission.INTERNET" /> 
    <!-- GCM requires a Google account. -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <!-- Keeps the processor from sleeping when a message is received. -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <!-- So that tablets, without telephony will not be filtered out by the market. -->
    <uses-feature android:name="android.hardware.telephony" android:required="false" />
    <supports-screens 
     android:smallScreens="true"
     android:normalScreens="true"
     android:largeScreens="true"
     android:xlargeScreens="true"
                  android:anyDensity="true"/>


    <application android:name="com.example.app.Application" 
        android:icon="@drawable/icon" android:label="@string/app_name">

        <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
          <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <category android:name="com.example" />
          </intent-filter>
        </receiver>

        <service android:name="com.example.app.GCMIntentService" />

        <activity android:name="com.example.app.SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="com.example.app.NavigationActivity" android:label="@string/app_name" android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
        </activity>

        <activity android:name="com.example.app.MainActivity"></activity>

    </application>
</manifest>

Upvotes: 0

Views: 936

Answers (2)

lost_in_transference
lost_in_transference

Reputation: 87

After further investigation, it looks like the few users who couldn't find an app were looking for older apps (without <uses-feature android:name="android.hardware.telephony" android:required="false"></uses-feature> in the manifest). The new apps seem to be fine. Thanks for the responses.

Upvotes: 1

slund
slund

Reputation: 6397

You have included CALL_PHONE permission. Most tablets do not provide this feature and will most likely have them filtered out.

See here for additional info/ideas

android.permission.CALL_PHONE for tablets

Upvotes: 1

Related Questions