2015-08-01 1 views
0

Я пробовал много и разные вещи, чтобы сделать простую вещь, сделать приложение phonegap build для блокировки ориентации на пейзаж.Что не так в моем config.xml относительно ориентации на Android?

Текущее и нежелательное (не говоря уже о уродливом) поведении заключается в том, что, когда я запускаю свое приложение для Android, на несколько секунд я вижу экран (и его содержимое) в портретном режиме, а затем он «блокирует» себя до пейзажа как это должно.

Что не так с моим config.xml? что может отсутствовать?

<?xml version='1.0' encoding='utf-8'?> 
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:gap="http://phonegap.com/ns/1.0" id="myid" version="0.8.7" > 
    <gap:config-file platform="android" parent="/manifest/application" > 
     <application android:debuggable="false" /> 
     <activity android:screenOrientation="landscape" android:configChanges="orientation" android:name=".Activity.SplashScreenActivity" /> 
    </gap:config-file> 

    <gap:config-file platform="ios" parent="UIViewControllerBasedStatusBarAppearance" overwrite="true"> 
     <false/> 
    </gap:config-file> 
    <preference name="orientation" value="landscape" /> 
    <preference name="screen-orientation" value="landscape" /> 
    <preference name="Orientation" value="landscape" /> 
    <name>myappname</name> 

    <description> 
     best app 
    </description> 
    <author email="[email protected]" href="http://phonegap.com"> 
     PhoneGap Team 
    </author> 
    <content src="index.html" /> 

    <preference name="fullscreen" value="true" /> 
    <preference name="permissions" value="none" /> 
    <preference name="target-device" value="universal" /> 
    <preference name="webviewbounce" value="false" /> 
    <preference name="prerendered-icon" value="true" /> 
    <preference name="stay-in-webview" value="false" /> 
    <preference name="ios-statusbarstyle" value="black-opaque" /> 
    <preference name="detect-data-types" value="true" /> 
    <preference name="exit-on-suspend" value="false" /> 
    <preference name="show-splash-screen-spinner" value="true" /> 
    <preference name="auto-hide-splash-screen" value="true" /> 
    <preference name="disable-cursor" value="false" /> 
    <preference name="android-minSdkVersion" value="7" /> 
    <preference name="android-installLocation" value="auto" /> 
    <preference name="EnableViewportScale" value="false" /> 
    <preference name="DisallowOverscroll" value="true" /> 
    <preference name="UIWebViewBounce" value="false" /> 
    <preference name="AutoHideSplashScreen" value="false" /> 
    <preference name="SplashScreenDelay" value="10000" /> 

    <icon src="icon.png"/> 
    <gap:splash src="res/screen/android/splash.png" /> 

    <platform name="android"> 
     <!-- icons for android --> 
     <icon src="res/icon/android/icon-36-ldpi.png" density="ldpi" /> 
     <icon src="res/icon/android/icon-48-mdpi.png" density="mdpi" /> 
     <icon src="res/icon/android/icon-72-hdpi.png" density="hdpi" /> 
     <icon src="res/icon/android/icon-96-xhdpi.png" density="xhdpi" /> 
    </platform> 

    <gap:splash src="res/screen/android/splash.png" gap:platform="android" gap:qualifier="ldpi" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="android" gap:qualifier="mdpi" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="android" gap:qualifier="hdpi" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="android" gap:qualifier="xhdpi" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="android" gap:qualifier="fr-xhdpi" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="android" gap:qualifier="port-xxhdpi" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="android" gap:qualifier="land-xxhdpi" /> 

    <!-- --> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="320" height="480" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="640" height="960" /> 

    <!-- iPhone 5/iPod Touch (5th Generation) --> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="640" height="1136" /> 

    <!-- iPhone 6 --> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="750" height="1334" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="1242" height="2208" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="2208" height="1242" /> 

    <!-- iPad --> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="768" height="1024" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="1024" height="768" /> 

    <!-- Retina iPad --> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="1536" height="2048" /> 
    <gap:splash src="res/screen/android/splash.png" gap:platform="ios" width="2048" height="1536" /> 



    <gap:plugin name="com.phonegap.plugins.facebookconnect"> 
     <param name="APP_ID" value="1636377466592822" /> 
     <param name="APP_NAME" value="myfacebookapp" /> 
    </gap:plugin> 

    <gap:plugin name="com.sharinglabs.cordova.plugin.cache" version="1.0.0" /> 

    <gap:plugin name="com.rjfun.cordova.plugin.lowlatencyaudio" version="1.1.3" /> 

    <gap:plugin name="com.phonegap.plugins.pushplugin" version="2.4.0" /> 

    <gap:plugin name="org.apache.cordova.media" version="0.2.13" /> 

    <gap:plugin name="org.apache.cordova.device" version="0.2.12" /> 

    <gap:plugin name="net.yoik.cordova.plugins.screenorientation" version="1.3.1" /> 

    <gap:plugin name="org.apache.cordova.splashscreen" version="0.3.4" /> 

    <gap:plugin name="com.adobe.plugins.gaplugin" /> 

    <gap:plugin name="net.bgta.phonegap.plugin.appversion" version="1.1.1" /> 

    <access origin="*" subdomains="true"/> 
</widget> 

ответ

1

слишком много испытаний устройств имеют этот материал вращения (в андроиде), так что это разрешима?

Мое мнение широко распространенное решение займет некоторое время.

Например, у меня есть Sprout Channel Cubby, который я приобрел для разработки для проекта клиента. Это стоит около 100 долларов. У меня также есть Samsung Galaxy Tab 2 7.0. Есть разница между ними.

Я играю Слова с друзьями, что всегда требует портретного режима. На Cubby я часто вижу, что программа вращается, потому что режим Cubby по умолчанию - Пейзаж. На Samsung я также вижу, что он вращается (если я в ландшафтном режиме), но вместо этого приложение переходит в портретный режим до того, как экран переключится. Я считаю, что это происходит, потому что Samsung по умолчанию использует портретный режим.

Другими словами, если конечный пользователь настроил режим просмотра на «автоматический поворот», вы можете заставить приложение работать в правильном режиме, но всегда останутся остаточные эффекты, а сумма этого Эффект сильно зависит от реализации ОС, аппаратного обеспечения и программирования.

Добавьте к этому, что существуют тысячи моделей Android (см. Статью от OpenSignals). В какой момент, будет остаточных эффектов быть минимальным?!?Это трудный вопрос.

1

@totothegreat, у вас есть несколько проблем с config.xml

  1. Используйте Phonegap Build Docs, а не регулярные документы. Есть небольшие отличия. Достаточно, чтобы всегда вас трогать.
  2. Также примеры в Интернете неоднозначны, и часто люди НЕ понятны, если вы используете CLG Phonegap или Phonegap Build. Понятно, для чего предназначен этот пример. Если нет, спросите автора.
  3. Для настройки пейзажа вам нужна только одна настройка. Он находится в documentation как:
    <preference name="orientation" value="landscape" />
  4. Я также заметил, что ваши значки и заставки неверны. Here is your reference.

В случае, если вы не получите его, вы можете посмотреть на мой Demo for Mobile Popups. Это делается в ландшафтном режиме. Источник находится на github. ПРИМЕЧАНИЕ: есть секунда, в которой вы можете увидеть приложение, вращающееся в ландшафтном режиме. Если у вас все еще есть проблема, это может быть ошибка ответа в вашем тестовом устройстве. Смысл этой задачи лучше всего виден в этом докладе: Android Fragmentation Visualized

+0

Слишком много тестовых устройств имеют этот материал поворота (в андроиде), так же разрешимо? – totothegreat