2015-12-16 91 views
0

我希望我的应用仅适用于不支持平板电脑的手机。这里是我做了什么限制Android应用仅适用于不支持平板电脑的手机

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
package="soulvant.golfclub"> 

<compatible-screens> 

    <!-- all small size screens --> 
    <screen 
     android:screenDensity="ldpi" 
     android:screenSize="small" /> 
    <screen 
     android:screenDensity="mdpi" 
     android:screenSize="small" /> 
    <screen 
     android:screenDensity="hdpi" 
     android:screenSize="small" /> 
    <screen 
     android:screenDensity="xhdpi" 
     android:screenSize="small" /> 
    <!-- all normal size screens --> 
    <screen 
     android:screenDensity="ldpi" 
     android:screenSize="normal" /> 
    <screen 
     android:screenDensity="mdpi" 
     android:screenSize="normal" /> 
    <screen 
     android:screenDensity="hdpi" 
     android:screenSize="normal" /> 
    <screen 
     android:screenDensity="xhdpi" 
     android:screenSize="normal" /> 
    <!-- all normal size screens --> 
    <screen 
     android:screenDensity="ldpi" 
     android:screenSize="large" /> 
    <screen 
     android:screenDensity="mdpi" 
     android:screenSize="large" /> 
    <screen 
     android:screenDensity="hdpi" 
     android:screenSize="large" /> 
    <screen 
     android:screenDensity="xhdpi" 
     android:screenSize="large" /> 
</compatible-screens> 


<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> 
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" /> 

<!-- for Samsung badge --> 
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" /> 
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" /> 

<!-- for htc badge --> 
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS" /> 
<uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT" /> 

<!-- for sony badge --> 
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" /> 

<!-- for apex badge --> 
<uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.USE_CREDENTIALS" /> 

<permission 
    android:name="soulvant.golfclub.permission.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="soulvant.golfclub.permission.C2D_MESSAGE" /> 

<!-- This app has permission to register and receive data message. --> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 

<!-- Network State Permissions to detect Internet status --> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

<!-- Permission to vibrate --> 
<uses-permission android:name="android.permission.VIBRATE" /> 

<application 
    android:name=".utils.ApplicationClass" 
    android:allowBackup="true" 
    android:icon="@mipmap/launcher" 
    android:label="@string/app_name" 
    android:largeHeap="true" 
    android:theme="@style/AppTheme" 
    tools:node="replace"> 
    <meta-data 
     android:name="DATABASE" 
     android:value="aurous.db" /> 
    <meta-data 
     android:name="VERSION" 
     android:value="1" /> 
    <meta-data 
     android:name="QUERY_LOG" 
     android:value="true" /> 
    <meta-data 
     android:name="DOMAIN_PACKAGE_NAME" 
     android:value="soulvant.golfclub" /> 

    <activity 
     android:name=".activities.SplashActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".activities.MainActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.ProsActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.ProsDetailActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.ProDetailRateOffer" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.NewsActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.NewsDetailActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.EventsActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.EventDetailActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.CourseActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.CourseDetailActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.FacilityAvailableActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.CourseRateoffActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.RestaurantActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.RestaurantMenu" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.RestaurantDetailActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.RestaurantRatesActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.HotelsActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.HotelDetailActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.HotelPackageActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.HotelWebsiteActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.ProshopActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.ProshopDetailActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.CoursesSlideshow" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.ProshopRateOfferActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.BrowserActivity" 
     android:screenOrientation="portrait" /> 
    <activity 
     android:name=".activities.AdvertisementActivity" 
     android:screenOrientation="portrait" /> 

    <activity 
     android:name=".activities.Advertisement" 
     android:screenOrientation="portrait" 
     android:theme="@style/Theme.AppCompat.Translucent" /> 

    <receiver 
     android:name="com.google.android.gms.gcm.GcmReceiver" 
     android:exported="true" 
     android:permission="com.google.android.c2dm.permission.SEND"> 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 

      <category android:name="soulvant.golfclub" /> 
     </intent-filter> 
    </receiver> 

    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
    <!-- [START gcm_listener] --> 
    <service 
     android:name=".MyGcmListenerService" 
     android:exported="false"> 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
     </intent-filter> 
    </service> 
    <!-- [END gcm_listener] --> 
    <!-- [START instanceId_listener] --> 
    <service 
     android:name=".MyInstanceIDListenerService" 
     android:exported="false"> 
     <intent-filter> 
      <action android:name="com.google.android.gms.iid.InstanceID" /> 
     </intent-filter> 
    </service> 
    <!-- [END instanceId_listener] --> 
    <service 
     android:name=".RegistrationIntentService" 
     android:exported="false" /> 
</application> 

但是当我上传在Play商店中,并试图寻找我的三星Galaxy S4中是不存在的搜索结果。

我做错了什么。

+0

你可以发布整个清单..你使用的东西像 Raghavendra

+0

这里是我充分显示的@Raghavendra – Android

+1

我认为@IntelliJ Amiya的答案将工作 – Raghavendra

回答

-1

如果您没有在清单中指定大屏幕尺寸,它将不会显示在平板电脑上,所以不用担心。

enter image description here

所以,现在它不会显示在Play商店片剂,除非你做的东西在Play商店中展现出来。

你说你的应用程序不会对Samsung galaxy s4显示:

你的应用程序有权限的三星Galaxy S4无法处理。例如,如果您尝试在没有相机的情况下访问设备上的相机,那么您的应用程序将不会显示该设备。因此,请查看您所制作的应用程序的权限,然后查看s4的功能,检查哪些功能无法遵守。

+0

它没有显示三星银河s4 – Android

+0

@Android我知道为什么,和如果这有帮助,请按复选标记以接受此答案。您的应用拥有三星Galaxy S4无法处理的权限。例如,如果您尝试在没有相机的情况下访问设备上的相机,那么您的应用程序将不会显示该设备。因此,请查看您所制作的应用程序的权限,然后查看s4的功能,检查哪些功能无法遵守。 –

+0

我之前上传了此应用程序,但没有显示标签,并且当时显示。客户问我,使它只适用于不适合平板电脑手机,我增加<兼容屏幕>这个应用程序后,不会显示在我的S4 – Android

1

Android可以很容易地开发出一款在设备屏幕尺寸和外形尺寸的宽范围 上运行良好的应用程序。这种广泛的兼容性 对您有利,因为它可以帮助您设计一个应用程序,您可以将其广泛分发到所有目标设备。但是,为了让您的用户在每个屏幕 配置(特别是在平板电脑上)上获得最佳体验,您需要针对每个目标屏幕 配置优化您的 布局和其他UI组件。在平板电脑上,优化您的用户界面可让您充分利用可用附加屏幕的优势,例如提供新功能,呈现新内容或以其他方式增强用户体验,以加深用户参与度。

添加此

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

的应用“支持”一个给定的屏幕尺寸是否正确调整大小以 填满整个屏幕。系统应用的正常调整大小适用于大多数应用程序,并且您不需要做任何额外的工作 使您的应用程序在比手机设备大的屏幕上工作。 但是,通过提供替代布局资源来针对不同屏幕尺寸优化应用程序的UI 通常很重要。 例如,当您在平板电脑上使用 时,您可能希望修改某个活动的布局,而不是在手持设备上运行。

请仔细阅读官方文档的约Declare Support for Tablet Screens & supports-screens。我希望它能帮助你。

相关问题