【发布时间】:2012-01-18 11:36:07
【问题描述】:
我正在使用 phonegap v1.3.0 开发一个 android phonegap 应用程序
我的应用程序有一个按钮,当点击时使用 phonegap api 启动相机,当用户捕获图像时返回照片路径。
但是发生的情况是应用程序在相机返回之前崩溃,所以当相机返回时,应用程序会重新启动。所以我没有得到捕获的图像。
在检查日志时,我看到内核在相机启动后将 sigkill 发送到我的应用程序。
需要注意的一点是,当我杀死所有正在运行的应用程序然后启动我的应用程序并拍照时,它会正常返回而不会导致应用程序崩溃。
这个问题类似于https://github.com/callback/phonegap/issues/5
请告诉我可能出了什么问题?
这里是日志 - https://github.com/ghostCoder/Logs/blob/master/e2o.mobile-logs.txt
我的应用程序的名称是 e2o.mobile
这是我的 manifest.xml 的内容--
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xyz.test"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="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.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.STORAGE"/>
<application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:configChanges="orientation|keyboardHidden" android:name=".Home" android:label="@string/app_name" android:launchMode="singleTop" android:imeOptions="actionSend|flagNoEnterAction">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:configChanges="orientation|keyboardHidden" android:name="com.phonegap.DroidGap" android:label="@string/app_name" android:launchMode="singleTop" android:imeOptions="actionSend|flagNoEnterAction">
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
</manifest>
【问题讨论】:
-
im developing an android phonegap app你的问题。使用第三方框架来创建应用程序会让您完全受制于该框架的稳定性。我意识到它很有用,因为您可以为许多平台构建,但我总是建议不要这样做。每个平台的特性和功能差异很大,使用一个代码库几乎不是一个好主意。在这种情况下,除非你做错了什么,否则它可能是 phonegap 的一个怪癖。我会与他们一起提交错误报告并等待查看结果。 -
实际上这可能是由索尼相机意图的糟糕实现引起的。许多 Android 制造商在 Android 发行版中添加了“臃肿软件”,这往往会使事情变得混乱。我喜欢 Android 并且喜欢为它开发,但这些类型的问题让我彻夜难眠。字面上地!一位遇到类似问题的 PhoneGap 用户让他的用户安装了第三方相机应用程序并使用它来拍照和 BOOM!问题消失了。我尽量不在这里使用 13 个字母的 F 字。
-
我正在尝试为这个问题设计一个解决方法,除了使用第三方相机应用程序解决方案。该应用程序被杀死(在相机启动后),并在相机返回时重新启动。重新启动后,它可以查看它是否在文件捕获期间崩溃并检索捕获的图像。我写了一个phonegap插件来做到这一点,但我遇到了一个问题。请检查stackoverflow.com/questions/8910443/…
-
@SimonMacDonald 我安装了相机应用程序,例如 Camera 360、灯箱,并尝试使用它拍照,通过应用程序而不是使用默认相机。但是该应用程序在相机启动后仍然崩溃。所以我的问题仍然没有解决。 :(你能推荐点别的吗?
-
@ghostCoder manifest.xml 中的最小 sdk 值是多少?您针对什么 SDK 构建? manifest.xml 中的活动行是什么样的?