应用程序没有显示?

时间:2015-12-09 04:44:38

标签: java android string permissions android-manifest

我的应用不会出现在某些手机的Google Play商店中,例如Samsung GT-S5830i 我不知道是不是因为我{{1}我的<uses-permission>或我的屏幕尺寸权限。

看到this后,我将min SDK的所有<uses-permission>转换为<uses-feature>并将android:required="false"添加到每个权限中。 现在,我需要检查我的java代码中的功能可用性,因为权限是可选的,因此我可以避免使用java.lang.SecurityException: Permission Denial 我将如何在以下权限中执行此操作:

 <uses-feature android:name="android.permission.MODIFY_AUDIO_SETTINGS" android:required="false" />
    <uses-feature android:name="android.permission.VIBRATE" android:required="false" />
    <uses-feature android:name="android.permission.READ_PHONE_STATE"  />
    <uses-feature android:name="android.permission.GET_TASKS" />
    <uses-feature android:name="android.permission.INTERNET" android:required="false"/>

我非常确定所有手机和平板电脑都可以使用我的权限,因此我甚至不认为我需要将其feature添加required="false" 。如果它不是权限,则可能是“屏幕大小”权限。

我应该在清单中做这样的事吗?

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

目前,我有这个:

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

可能是因为SDK吗?

感谢您告诉我这是因为权限,SDK还是屏幕尺寸,以及我应该做些什么来保持一些权限可选,

Ruchir

1 个答案:

答案 0 :(得分:1)

来自评论你的min-sdk级别是11,这意味着你的应用程序需要最少的andriod 3.0(Honeycomb),而你测试的手机是 samsung GT-s5830i ,它附带了android froyo ,(版本2.2),它的API级别为8,因此它不会在Playstore中显示该设备。要支持该手机,您已经减少了最低API级别,请阅读here中的API级别和操作系统版本。并阅读this链接以了解有关Play商店过滤的更多信息