当前位置: 首页 > 知识库问答 >
问题:

如何解决给定android代码段中无法暂停活动的问题?

谢典
2023-03-14

以下是android代码片段

runOnUiThread(new Runnable() {
                                public void run() {
                                    AlertDialog alertDialog;
                                    alertDialog = new AlertDialog.Builder(MainActivity.this).create();
                                    alertDialog.setTitle("Network error");
                                    alertDialog.setMessage("Disconnected");
                                    alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "ok", new DialogInterface.OnClickListener() {
                                        /** ON clicking oKay button **/
                                        public void onClick(DialogInterface dialog, int id)
                                        {

                                            hasConnectServiceStarted = false;
                                            IP = null;
//                                            Intent intent = getIntent();
                                            Intent intentSplash = new Intent(getApplication().getApplicationContext(), SplashActivity.class);

                                            /** Shutdown the nodemain executor service if
                                             * HOST goes down
                                             */
                                            nodeMainExecutorService.forceShutdown();
                                            /** and restart the Main Activity that will prompt
                                             * user to reconnect to the HOST once again
                                             */

//  I want current activity to destroy before starting Splash Activity, hence calling onDestroy()
                                            onDestroy();
                                            startActivity(intentSplash);

                                        }
                                    });
                                    alertDialog.show();

});

一切看起来都很好,但是当这个警报对话框出现并单击确定时,我得到以下错误:

Java语言lang.RuntimeException:无法暂停活动{edu.arizona.ece573.catgraph/edu.arizona.ece573.catgraph.MainActivity}:java。lang.IllegalStateException:android上没有主机。应用程序。ActivityThread。在android上执行mpauseActivity(ActivityThread.java:3293)。应用程序。ActivityThread。在android上执行mpauseActivity(ActivityThread.java:3252)。应用程序。ActivityThread。android上的handlePauseActivity(ActivityThread.java:3227)。应用程序。ActivityThread。在android上访问1100美元(ActivityThread.java:154)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1339)。操作系统。处理程序。android上的dispatchMessage(Handler.java:102)。操作系统。活套。android上的loop(Looper.java:135)。应用程序。ActivityThread。java上的main(ActivityThread.java:5292)。lang.reflect。方法在java中调用(本机方法)。lang.reflect。方法在com上调用(方法java:372)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:904)。Android内部的操作系统。合子岩。main(ZygoteInit.java:699)由:java引起。lang.IllegalStateException:android上没有主机。支持v4.app。FragmentManagerImpl。android上的moveToState(FragmentManager.java:1235)。支持v4.app。FragmentManagerImpl。android上的moveToState(FragmentManager.java:1230)。支持v4.app。FragmentManagerImpl。android上的dispatchPause(FragmentManager.java:2056)。支持v4.app。碎片控制器。android上的dispatchPause(FragmentController.java:198)。支持v4.app。碎片活动。android上的onPause(FragmentActivity.java:401)。应用程序。活动android上的performPause(Activity.java:6101)。应用程序。仪器仪表。android上的callActivityOnPause(Instrumentation.java:1310)。应用程序。ActivityThread。在android上执行mpauseActivity(ActivityThread.java:3279)。应用程序。ActivityThread。performPauseActivity(ActivityThread.java:3252)

我应该如何解决此错误?

共有2个答案

呼延震博
2023-03-14

只需在启动触觉(intentSplash)后调用finish() 并删除销毁(),您将获得当前活动将销毁的内容。

贲铭
2023-03-14

我应该如何解决此错误?

将呼叫替换为

onDestroy()

具有

finish()

您还应该检查文档,看看哪个方法起什么作用。

 类似资料:
  • 本文向大家介绍Ajax请求时无法重定向的问题解决代码详解,包括了Ajax请求时无法重定向的问题解决代码详解的使用技巧和注意事项,需要的朋友参考一下 前言 今天发现,当使用Ajax请求时,如果后台进行重定向到其他页面时是无法成功的,只能在浏览器地址栏输入才能够实现重定向。 Ajax默认就是不支持重定向的,它是局部刷新,不重新加载页面。 需要实现的功能是,后台网关拦截请求,看请求中是否存在token.

  • 任何人都可以帮助我解决这个问题AndroidManifest.xml mainactivity.kt

  • 在模拟网络连接失败几秒钟的情况下,尝试暂停HikariCP池时会引发异常。为什么泳池可以不可以暂停?有没有其他简单的方法来模拟丢失的网络连接(到本地主机上的MySQL服务器)? 配置: 属性: JUnit: 例外

  • 我的目标是暂停录制文件。我在Android开发者网站上看到了它的但Media Recorder并没有暂停选项。 Java支持以编程方式合并两个音频文件,但在android中不起作用。 从Java中加入两个WAV文件? 而且我还使用了默认设备录音机应用程序,该应用程序适用于所有设备,但在三星中,很少有设备没有返回录制路径。 任何一个帮助语音录音暂停功能。

  • 我正在设计一个架构,在这个架构中,应用程序每次进入后台(onPause)都需要执行一组操作,每次回到前台(onResume)都需要执行一组操作,而不考虑活动(对于所有活动)。是否有一种方法可以实现这一点,而不必在每个活动类的onPause和onResume覆盖中调用这些方法?

  • 当我创建一个新的时,我总是得到一条错误消息,上面写着 “无法恢复密钥” 我做了不同的键,但总是得到相同的错误。我该怎么解决? 谢谢你的回答。