Phonegap 3.2.0“很遗憾,AppName已停止。” 关闭应用程序时的对话框

大卫·威尔士

当我关闭应用程序时,出现一个对话框,提示“不幸的是,MyApp已停止。” 和一个确定按钮。通过关闭,我的意思是在第一个屏幕上按下“后退”按钮。该应用程序确实关闭正常,但几秒钟后出现此对话框。

我正在使用PhoneGap 3.2.0。在更新到3.xx之前,它并没有发生。我不确定这是什么原因之后的确切版本。

Eclipse中的LogCat会在发生这种情况时予以解决:

01-13 15:20:42.764: D/CordovaActivity(32367): onMessage(exit,null)
01-13 15:20:42.829: D/CordovaActivity(32367): Paused the application!
01-13 15:20:42.839: W/PluginManager(32367): THREAD WARNING: exec() call to App.exitApp blocked the main thread for 74ms. Plugin should use CordovaInterface.getThreadPool().
01-13 15:20:43.219: W/IInputConnectionWrapper(32367): showStatusIcon on inactive InputConnection
01-13 15:20:43.254: D/CordovaActivity(32367): CordovaActivity.onDestroy()
01-13 15:20:43.259: D/CordovaWebView(32367): >>> loadUrlNow()
01-13 15:20:43.284: D/AndroidRuntime(32367): Shutting down VM
01-13 15:20:43.284: W/dalvikvm(32367): threadid=1: thread exiting with uncaught exception (group=0x417752a0)
01-13 09:56:40.404: E/AndroidRuntime(13858): java.lang.RuntimeException: Unable to destroy activity {MyAppName}: java.lang.IllegalArgumentException: Receiver not registered: null
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3314)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3332)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.ActivityThread.access$1200(ActivityThread.java:140) 
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.os.Handler.dispatchMessage(Handler.java:99) 
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.os.Looper.loop(Looper.java:137) 
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.ActivityThread.main(ActivityThread.java:4898)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at java.lang.reflect.Method.invokeNative(Native Method)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at java.lang.reflect.Method.invoke(Method.java:511)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at dalvik.system.NativeStart.main(Native Method)
01-13 09:56:40.404: E/AndroidRuntime(13858): Caused by: java.lang.IllegalArgumentException: Receiver not registered: null
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:654)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1277)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:385)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at org.apache.cordova.device.Device.onDestroy(Device.java:98)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at org.apache.cordova.PluginManager.onDestroy(PluginManager.java:332)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at org.apache.cordova.CordovaWebView.handleDestroy(CordovaWebView.java:833)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at org.apache.cordova.CordovaActivity.onDestroy(CordovaActivity.java:774)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.Activity.performDestroy(Activity.java:5370)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1113)
01-13 09:56:40.404: E/AndroidRuntime(13858):    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3301)
01-13 09:56:40.404: E/AndroidRuntime(13858):    ... 11 more

有任何想法吗?

到目前为止,我一直在使用navigator.app.exitApp();行。如果在按下后退按钮时检测到我在index.html页面上,则关闭应用程序。

相反,我尝试删除后退按钮侦听器,并在按下后退按钮时恢复默认行为。它仍然导致相同的问题。

以下是一些简短的代码段:

$(document).ready(function ()
{
    document.addEventListener("deviceready", onDeviceReady, false);
}

function onDeviceReady()
{
    document.addEventListener("backbutton", backButton, false);
});

function backButton()
{
    var currentLocation = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
    switch (currentLocation) {
    case 'index.html':
    navigator.app.exitApp();
    break;
}

更新2014/01/13 16:00:不确定是否有帮助,但是我注意到,如果我从index.html中注释掉脚本src =“ cordova.js”,它不会给出任何错误。

丹尼尔·贡萨尔维斯(Daniel Goncalves)

在文件Device.java中,将其内容替换OnDestroy为此

if( this.telephonyReceiver != null )
   this.cordova.getActivity().unregisterReceiver(this.telephonyReceiver);

警告:这掩盖了原来的问题,即从我从Logcat获得的信息中,BroadcastReceiver没有正确注册。suprnovaAndroidManifest.xml类的人添加权限应该可行的

但是,如果您不需要知道电话的状态(例如,正在接听电话等),则需要快速修复。

警告2:下一个phonegap版本发布时,该版本可能会被覆盖。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

“很遗憾,API演示已停止”-PhoneGap不变的HelloWorld应用无法运行

来自分类Dev

适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

来自分类Dev

适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

来自分类Dev

运行简单的Phonegap 3应用程序时出错

来自分类Dev

很遗憾,您的应用已停止

来自分类Dev

“很遗憾,应用名称已停止”简单应用

来自分类Dev

“很遗憾,我的Android应用已停止”

来自分类Dev

是设计使Windows 10在应用程序崩溃时不再显示“ <app>已停止工作”对话框吗?我可以重新启用此对话框吗?

来自分类Dev

2sxc:更改应用程序的入门对话框

来自分类Dev

PhoneGap 3.x Android-本机弹出/对话框主题

来自分类Dev

Android Studio错误:很遗憾,我自己的应用已停止

来自分类Dev

如何显示特定应用程序的“强制停止”对话框

来自分类Dev

从菜单中选择帮助(警告对话框)选项时,应用程序停止工作

来自分类Dev

Android程序不想运行-“很遗憾,(myAppName)已停止。”

来自分类Dev

Android:捕获错误“很遗憾,'应用程序'已停止工作”

来自分类Dev

使用 OAuth2 和 Google 和 Safari 的 iOS 应用程序显示打开页面对话框

来自分类Dev

在首次启动应用程序时显示对话框

来自分类Dev

关闭应用程序时线程是否停止?

来自分类Dev

关闭应用程序时如何停止音乐

来自分类Dev

在对话框中的gridview中显示已安装的应用程序列表-不起作用

来自分类Dev

使用ionic构建phonegap应用程序时发生错误

来自分类Dev

使用离子构建phonegap应用程序时出错

来自分类Dev

Facebook分享对话框已关闭

来自分类Dev

使用媒体插件播放mp3的Phonegap应用程序不起作用

来自分类Dev

Phonegap应用程序在Samsung Galaxy S3上存在渲染问题

来自分类Dev

phonegap应用程序上的3点android菜单-由本机android控件触发

来自分类Dev

关闭模态对话框后应用程序退出

来自分类Dev

3g或2g连接中的Phonegap android应用index.html加载速度非常慢

来自分类Dev

调试PhoneGap应用程序

Related 相关文章

  1. 1

    “很遗憾,API演示已停止”-PhoneGap不变的HelloWorld应用无法运行

  2. 2

    适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

  3. 3

    适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

  4. 4

    运行简单的Phonegap 3应用程序时出错

  5. 5

    很遗憾,您的应用已停止

  6. 6

    “很遗憾,应用名称已停止”简单应用

  7. 7

    “很遗憾,我的Android应用已停止”

  8. 8

    是设计使Windows 10在应用程序崩溃时不再显示“ <app>已停止工作”对话框吗?我可以重新启用此对话框吗?

  9. 9

    2sxc:更改应用程序的入门对话框

  10. 10

    PhoneGap 3.x Android-本机弹出/对话框主题

  11. 11

    Android Studio错误:很遗憾,我自己的应用已停止

  12. 12

    如何显示特定应用程序的“强制停止”对话框

  13. 13

    从菜单中选择帮助(警告对话框)选项时,应用程序停止工作

  14. 14

    Android程序不想运行-“很遗憾,(myAppName)已停止。”

  15. 15

    Android:捕获错误“很遗憾,'应用程序'已停止工作”

  16. 16

    使用 OAuth2 和 Google 和 Safari 的 iOS 应用程序显示打开页面对话框

  17. 17

    在首次启动应用程序时显示对话框

  18. 18

    关闭应用程序时线程是否停止?

  19. 19

    关闭应用程序时如何停止音乐

  20. 20

    在对话框中的gridview中显示已安装的应用程序列表-不起作用

  21. 21

    使用ionic构建phonegap应用程序时发生错误

  22. 22

    使用离子构建phonegap应用程序时出错

  23. 23

    Facebook分享对话框已关闭

  24. 24

    使用媒体插件播放mp3的Phonegap应用程序不起作用

  25. 25

    Phonegap应用程序在Samsung Galaxy S3上存在渲染问题

  26. 26

    phonegap应用程序上的3点android菜单-由本机android控件触发

  27. 27

    关闭模态对话框后应用程序退出

  28. 28

    3g或2g连接中的Phonegap android应用index.html加载速度非常慢

  29. 29

    调试PhoneGap应用程序

热门标签

归档