带有 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 似乎无法打开套接字,这会导致一系列问题。
【讨论】:
是的,已设置:<uses-permission android:name="android.permission.INTERNET" />
以上是关于带有 Phonegap 的 Android 应用程序在横向旋转时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
Android unsafe:tel: 带有 phonegap 应用程序
带有 iOS 和 Android 的 Phonegap 地图
Android 上带有 Phonegap 的缓存清单的大小限制
带有 Node.js/Socket.IO 服务器和客户端的 Phonegap 应用程序中的 Android 的 WebSockets