Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决给定android代码段中无法暂停活动的问题?_Android_Android Networking - Fatal编程技术网

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

如何解决给定android代码段中无法暂停活动的问题?,android,android-networking,Android,Android Networking,以下是android代码片段 runOnUiThread(new Runnable() { public void run() { AlertDialog alertDialog; alertDialog = new AlertDialog.Builder(MainActivity.this

以下是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.app.ActivityThread.performPauseActivity(ActivityThread.java:3293)上 位于android.app.ActivityThread.performPauseActivity(ActivityThread.java:3252) 位于android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3227) 在android.app.ActivityThread.access$1100(ActivityThread.java:154) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339) 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:135) 位于android.app.ActivityThread.main(ActivityThread.java:5292) 位于java.lang.reflect.Method.invoke(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:904) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699) 原因:java.lang.IllegalStateException:无主机 位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1235) 位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1230) 位于android.support.v4.app.FragmentManagerImpl.dispatchPause(FragmentManager.java:2056) 位于android.support.v4.app.FragmentController.dispatchPause(FragmentController.java:198) 位于android.support.v4.app.FragmentActivity.onPause(FragmentActivity.java:401) 在android.app.Activity.performPause(Activity.java:6101) 位于android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1310) 在android.app.ActivityThread.performPauseActivity(ActivityThread.java:3279)上 位于android.app.ActivityThread.performPauseActivity(ActivityThread.java:3252) 位于android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3227) 在android.app.ActivityThread.access$1100(ActivityThread.java:154) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339) 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:135) 位于android.app.ActivityThread.main(ActivityThread.java:5292) 位于java.lang.reflect.Method.invoke(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:904) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

如何解决此错误?

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

只需在
startActivity(intentSplash)之后调用
finish()
并删除
destroy()
,您将获得当前活动将销毁的内容

我应该如何解决此错误

替换对的呼叫

onDestroy()

您还应该检查,看看哪个方法做什么

我应该如何解决此错误

替换对的呼叫

onDestroy()


您还应该检查,看看哪个方法做什么。

摆脱
ondestory()。请。我希望在启动Splash活动之前先销毁当前活动。这取决于android。调用
finish()
而不是
ondestory()
您不应该直接调用生命周期回调。请。我希望在启动Splash活动之前先销毁当前活动。这取决于android。调用
finish()
而不是
onDestroy()
您不应该直接调用生命周期回调。
finish()