在phonegap应用程序中的相机。 重新启动应用程序

我正在开发phonegap应用程序。 并在其中使用相机。 这是几天前的工作。 我在过去几天做了很多改变,现在相机无法正常工作。 它打开相机,但是当我拍照时,然后从相机应用程序。 当我按下确定,它重新启动应用程序。

我不明白这是怎么回事。 我实际上无法理解它是否可以从我的phonegap应用程序重新启动。 JS代码或它只能从Android Java代码重新启动。

我正在使用这个代码的相机:

function takePhoto() { navigator.camera.getPicture(onCameraPicSuccess, onCameraPicFail, {quality: 50, destinationType: Camera.DestinationType.FILE_URI }); function onCameraPicSuccess(imageURI) { alert("coming here in pic success"); var img = '<div style="padding:4px; margin:10px; border: solid 2px #666;float: left; width:30%"><img src="' + imageURI + '" width="100%" /></div>'; $('#images_area').append(img); } function onCameraPicFail(message) { alert('Failed because: ' + message); } 

所以任何想法,为什么应用程序。 将重新启动使用相机应用程序。 通过上面的代码? 我的JS代码没有启animation面,但我的Java代码有。 所以按下相机的确定button后,我可以看到应用程序。 重新启动back button绑定和menu button绑定不工作了一段时间。

所以不知道发生了什么事。 如果你们有任何这样的经验或任何想法,然后随意分享。

如果还有什么我需要告诉的。 然后让我知道。


在stackoverflow.com上做了一些更多的search之后,我才知道这个问题是android的问题,因为android会杀死应用程序。 在后台如果它有更less的内存。 所以需要释放内存等但我注意到,当我使用JQuery Mobile Forms时,应用程序工作正常。 但是在将其改为自定义之后,出现此相机问题。 所以,如果这是内存相关的问题,那么为什么它发生在删除jQuery的移动窗体和做定制工作。 实际上,现在应用程序在定制工作中更加stream畅。 所以我很困惑,不pipe是内存相关的问题还是别的? 以及如何解决这种types的应用程序。 在phonegap发展。

Solutions Collecting From Web of "在phonegap应用程序中的相机。 重新启动应用程序"

phonegap相机API在您使用时调用相机应用程序

 navigator.camera.getPicture 

请在此阅读 – http://docs.phonegap.com/en/edge/cordova_camera_camera.md.html#Camera

这会将应用程序推入后台,如果内存不足,可能会导致应用程序被终止。

如果您不希望应用程序在相机启动时进入后台,则需要使用前台摄像头插件。 看看这里

您可能需要更改以符合您的要求。

这可能是一个内存相关的问题。 您可以通过在应用程序清单文件中设置android:largeHeap="true"来增加应用程序的堆大小。

您不需要创build一个完整的自定义前景摄像机,只需要指定您想要检索旧的意图,而不是启动一个新的实例的积极的垃圾收集器。 尝试在相机插件中的保存的意图上设置一个标志:

 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

看到我的post在这里: https : //stackoverflow.com/a/29630548/2782404

此外,增加堆大小和使用singleTask / singleInstance不适合我

在android menifest文件中,将activity的launchmode设置为“singleTask”或“singleInstance”。
可能是您的申请多次启动活动。

看到这个链接,它解释说,这实际上不是与phonegap有关,而是与android的活动。 他build议使用一个名为Foreground Camera Plugin的插件。

PhoneGap相机重新启动应用程序