带有 Phonegap 的 Android 应用程序在横向旋转时崩溃

Posted

技术标签:

【中文标题】带有 Phonegap 的 Android 应用程序在横向旋转时崩溃【英文标题】:Android app with Phonegap crashes on landscape rotation 【发布时间】:2012-11-05 15:17:02 【问题描述】:

我使用 Phonegap 创建了一个 android 应用。当应用程序运行并且我将手机翻转为横向时,它只会崩溃。我已经尝试将其添加到我的清单中:

android:configChanges="orientation|keyboardHidden"

也试过了:

android:configChanges="orientation|screenSize|keyboardHidden"

没有效果。有什么建议吗?


更新:

这是当应用程序崩溃时 logcat 告诉我的:http://dl.dropbox.com/u/17844821/zeug/logcat.txt


更新:

这是我的清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.foo.bar"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="15" />

<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:resizeable="true" 
    android:anyDensity="true" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<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.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:configChanges="orientation|keyboardHidden"
            android:name=".MainActivity"
            android:label="@string/title_activity_main">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

【问题讨论】:

run "adb logcat" 显示崩溃的堆栈跟踪。 【参考方案1】:

确保将它们放在活动标签中,如下所示:

<activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main"
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize
|locale">

并在他们之后关闭它。 我曾经遇到过这个问题,我犯了这个错误。

【讨论】:

我将清单添加到我的原始帖子中。看起来不错,不是吗?【参考方案2】:

您的 AndroidManifest.xml 中有 INTERNET 权限吗?根据异常,CallbackServer 似乎无法打开套接字,这会导致一系列问题。

【讨论】:

是的,已设置:&lt;uses-permission android:name="android.permission.INTERNET" /&gt;

以上是关于带有 Phonegap 的 Android 应用程序在横向旋转时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Android unsafe:tel: 带有 phonegap 应用程序

带有 iOS 和 Android 的 Phonegap 地图

Android 上带有 Phonegap 的缓存清单的大小限制

带有 Node.js/Socket.IO 服务器和客户端的 Phonegap 应用程序中的 Android 的 WebSockets

是否可以分析 Android 或 iOS 上的 PhoneGap 应用缓存?

Phonegap 状态栏通知,Android,iOS