Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android平板电脑中未检测到方向变化_Android_Cordova_Jquery Mobile - Fatal编程技术网

Android平板电脑中未检测到方向变化

Android平板电脑中未检测到方向变化,android,cordova,jquery-mobile,Android,Cordova,Jquery Mobile,我目前在我的应用程序底部有以下代码(我也尝试过其他各种代码),用于检测方向变化: function orientation_changed (){ if ( is_portrait() ) { alert('ABC'); } else if ( is_landscape() ) { alert('234'); } clearTimeout(window.t); delete window.t; }

我目前在我的应用程序底部有以下代码(我也尝试过其他各种代码),用于检测方向变化:

function orientation_changed (){
    if ( is_portrait() )
    {
        alert('ABC');
    }
    else if ( is_landscape() )
    {
        alert('234');
    }
    clearTimeout(window.t);
    delete window.t;
}

window.t = undefined;
window.onorientationchange = function (event)
{
    window.t = setTimeout('orientation_changed();', 250);
}

function is_landscape()
{
    var uagent = navigator.userAgent.toLowerCase();
    if ( uagent.search('ipad') > -1 )
    {
        var r = ( window.orientation == 90 || window.orientation == -90 );
    }
    else
    {
        var r = ( screen.width > screen.height );
    }
    return r;
}

function is_portrait()
{
    var uagent = navigator.userAgent.toLowerCase();
    if ( uagent.search('ipad') > -1 )
    {
        var r = ( window.orientation == 0 || window.orientation == 180 );
    }
    else
    {
        var r = ( screen.width < screen.height );
    }
    return r;
}
功能方向\u已更改(){
如果(是_肖像())
{
警报(“ABC”);
}
else if(is_scape())
{
警报('234');
}
clearTimeout(window.t);
删除window.t;
}
window.t=未定义;
window.onorientationchange=函数(事件)
{
window.t=setTimeout('orientation_changed();',250);
}
函数是
{
var uagent=navigator.userAgent.toLowerCase();
if(uagent.search('ipad')>-1)
{
var r=(window.orientation==90 | | window.orientation==-90);
}
其他的
{
var r=(screen.width>screen.height);
}
返回r;
}
函数是
{
var uagent=navigator.userAgent.toLowerCase();
if(uagent.search('ipad')>-1)
{
var r=(window.orientation==0 | | window.orientation==180);
}
其他的
{
var r=(屏幕宽度<屏幕高度);
}
返回r;
}
但它从不开火。我尝试过其他方法来改变我的平板电脑的方向,但似乎都不管用。我的清单如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
      package="com.pp.editable" android:versionName="1.1" android:versionCode="5" android:hardwareAccelerated="true">
    <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true"
        android:resizeable="true"
        android:anyDensity="true"
        />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.RECORD_VIDEO"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />   
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />


    <application android:icon="@drawable/icon" android:label="@string/app_name"
        android:hardwareAccelerated="true"
        android:debuggable="true">
        <activity android:name="editabledelights" android:label="@string/app_name"
                android:theme="@android:style/Theme.Black.NoTitleBar"
                android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

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


我使用的是联想IdeaPad。我正在使用JQuery mobile和Cordova 2.3.0。我做错什么了吗?

您可能忘记添加事件侦听器来检测方向的变化

// attach the onOrientationChange event listener in your script tag
window.addEventListener( 'onorientationchange', OnOrientationChange, false );

希望能有所帮助。

您可能忘记添加事件侦听器来检测方向变化

// attach the onOrientationChange event listener in your script tag
window.addEventListener( 'onorientationchange', OnOrientationChange, false );

希望对你有所帮助。

这是因为你添加了“SCENSIZE”属性,只需删除该属性。

这是因为你添加了“SCENSIZE”属性,只需删除该属性,我觉得自己很笨。在联想上,它只在系统设置中设置为纵向:P.必须启用方向切换。

我觉得自己很笨。在联想,它的设置为肖像只有在系统设置:P。必须启用方向切换