안드로이드 개발 질문/답변
(글 수 45,052)
Intent i = new Intent(mContext, NeoEditor.class); i.putExtra("menu", MAIN_EDIT_NAME); mContext.startActivity(i);
위와 같이 한 액티비티에서 (정확히는 해당 액티비티의 뷰에서) 다른 액티비티를 실행하였는데 그렇게 실행된 NeoEditor 액티비티에서 뒤로가기 버튼을 눌러 종료하려고 하면 에러가 나는군요. startActivity() 는 Result를 받지 않아도 되는 것으로 알고 있는데 어째서 에러가 나는지 모르겠습니다. 혹, 실행되는 Activity (즉, NeoEditor)의 onCreate()나 다른 이벤트 핸들러를 통해 처리해 주어야 하는 부분이 있나요?
2009.05.31 11:20:54
다른 인텐트의 시작과 종료를 시키는 것과는 크게 관련이 없어보입니다. 원래 Activity의 onResume이나 NeoEditor의 onPause등에서 잘못 처리한 것이 있어서 발생하는 에러가 같습니다. 에러 발생시에는 에러 관련 로그도 찍어주시는게 좋습니다.
2009.06.01 04:28:54
logcat 으로 찍어본 로그입니다. 한 번 봐 주시면 감사 드리겠습니다.
I/Process ( 568): Sending signal. PID: 851 SIG: 3
I/dalvikvm( 851): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 610 SIG: 3
I/dalvikvm( 610): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 648 SIG: 3
I/dalvikvm( 648): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 670 SIG: 3
I/dalvikvm( 670): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 637 SIG: 3
I/dalvikvm( 637): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 657 SIG: 3
I/dalvikvm( 657): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 568 SIG: 3
I/dalvikvm( 568): threadid=7: reacting to signal 3
I/dalvikvm( 637): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 670): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 657): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 648): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 568): Wrote stack trace to '/data/anr/traces.txt'
I/Process ( 568): Sending signal. PID: 608 SIG: 3
I/dalvikvm( 608): threadid=7: reacting to signal 3
W/WindowManager( 568): No window to dispatch pointer action 1
I/dalvikvm( 608): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 610): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 851): Wrote stack trace to '/data/anr/traces.txt'
I/ActivityManager( 568): Starting activity: Intent { comp={com.myname.androi
d.neonote/com.myname.android.neonote.Salamander} (has extras) }
I/ActivityManager( 568): Displayed activity com.myname.android.neonote/.S
alamander: 5662 ms
W/KeyCharacterMap( 851): No keyboard for id 0
W/KeyCharacterMap( 851): Using default keymap: /system/usr/keychars/qwerty.kcm.
bin
W/dalvikvm( 851): threadid=3: thread exiting with uncaught exception (group=0x4
000fe70)
E/AndroidRuntime( 851): Uncaught handler: thread main exiting due to uncaught e
xception
E/AndroidRuntime( 851): java.lang.IllegalThreadStateException: Thread already s
tarted.
E/AndroidRuntime( 851): at java.lang.Thread.start(Thread.java:1284)
E/AndroidRuntime( 851): at com.myname.android.neonote.SalamanderMa
inView.surfaceCreated(SalamanderMainView.java:242)
E/AndroidRuntime( 851): at android.view.SurfaceView.updateWindow(Surface
View.java:352)
E/AndroidRuntime( 851): at android.view.SurfaceView.onWindowVisibilityCh
anged(SurfaceView.java:177)
E/AndroidRuntime( 851): at android.view.View.dispatchWindowVisibilityCha
nged(View.java:3440)
E/AndroidRuntime( 851): at android.view.ViewGroup.dispatchWindowVisibili
tyChanged(ViewGroup.java:671)
E/AndroidRuntime( 851): at android.view.ViewGroup.dispatchWindowVisibili
tyChanged(ViewGroup.java:671)
E/AndroidRuntime( 851): at android.view.ViewGroup.dispatchWindowVisibili
tyChanged(ViewGroup.java:671)
E/AndroidRuntime( 851): at android.view.ViewRoot.performTraversals(ViewR
oot.java:646)
E/AndroidRuntime( 851): at android.view.ViewRoot.handleMessage(ViewRoot.
java:1482)
E/AndroidRuntime( 851): at android.os.Handler.dispatchMessage(Handler.ja
va:99)
E/AndroidRuntime( 851): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 851): at android.app.ActivityThread.main(ActivityThrea
d.java:3948)
E/AndroidRuntime( 851): at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime( 851): at java.lang.reflect.Method.invoke(Method.java:5
21)
E/AndroidRuntime( 851): at com.android.internal.os.ZygoteInit$MethodAndA
rgsCaller.run(ZygoteInit.java:782)
E/AndroidRuntime( 851): at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:540)
E/AndroidRuntime( 851): at dalvik.system.NativeStart.main(Native Method)
I/Process ( 568): Sending signal. PID: 851 SIG: 3
I/dalvikvm( 851): threadid=7: reacting to signal 3
I/dalvikvm( 851): Wrote stack trace to '/data/anr/traces.txt'
I/Process ( 851): Sending signal. PID: 851 SIG: 9
I/ActivityManager( 568): Process com.myname.android.neonote (pid 851) has
died.
I/WindowManager( 568): WIN DEATH: Window{43785a20 com.myname.android.salaman
der/com.myname.android.neonote.SalamanderMain paused=false}
I/WindowManager( 568): WIN DEATH: Window{437867f8 SurfaceView paused=false}
I/WindowManager( 568): WIN DEATH: Window{437101f8 com.myname.android.salaman
der/com.myname.android.neonote.Salamander paused=false}
I/WindowManager( 568): WIN DEATH: Window{43711b10 SurfaceView paused=false}
W/InputManagerService( 568): Got RemoteException sending setActive(false) notif
ication to pid 851 uid 10019
I/Process ( 568): Sending signal. PID: 851 SIG: 3
I/dalvikvm( 851): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 610 SIG: 3
I/dalvikvm( 610): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 648 SIG: 3
I/dalvikvm( 648): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 670 SIG: 3
I/dalvikvm( 670): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 637 SIG: 3
I/dalvikvm( 637): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 657 SIG: 3
I/dalvikvm( 657): threadid=7: reacting to signal 3
I/Process ( 568): Sending signal. PID: 568 SIG: 3
I/dalvikvm( 568): threadid=7: reacting to signal 3
I/dalvikvm( 637): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 670): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 657): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 648): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 568): Wrote stack trace to '/data/anr/traces.txt'
I/Process ( 568): Sending signal. PID: 608 SIG: 3
I/dalvikvm( 608): threadid=7: reacting to signal 3
W/WindowManager( 568): No window to dispatch pointer action 1
I/dalvikvm( 608): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 610): Wrote stack trace to '/data/anr/traces.txt'
I/dalvikvm( 851): Wrote stack trace to '/data/anr/traces.txt'
I/ActivityManager( 568): Starting activity: Intent { comp={com.myname.androi
d.neonote/com.myname.android.neonote.Salamander} (has extras) }
I/ActivityManager( 568): Displayed activity com.myname.android.neonote/.S
alamander: 5662 ms
W/KeyCharacterMap( 851): No keyboard for id 0
W/KeyCharacterMap( 851): Using default keymap: /system/usr/keychars/qwerty.kcm.
bin
W/dalvikvm( 851): threadid=3: thread exiting with uncaught exception (group=0x4
000fe70)
E/AndroidRuntime( 851): Uncaught handler: thread main exiting due to uncaught e
xception
E/AndroidRuntime( 851): java.lang.IllegalThreadStateException: Thread already s
tarted.
E/AndroidRuntime( 851): at java.lang.Thread.start(Thread.java:1284)
E/AndroidRuntime( 851): at com.myname.android.neonote.SalamanderMa
inView.surfaceCreated(SalamanderMainView.java:242)
E/AndroidRuntime( 851): at android.view.SurfaceView.updateWindow(Surface
View.java:352)
E/AndroidRuntime( 851): at android.view.SurfaceView.onWindowVisibilityCh
anged(SurfaceView.java:177)
E/AndroidRuntime( 851): at android.view.View.dispatchWindowVisibilityCha
nged(View.java:3440)
E/AndroidRuntime( 851): at android.view.ViewGroup.dispatchWindowVisibili
tyChanged(ViewGroup.java:671)
E/AndroidRuntime( 851): at android.view.ViewGroup.dispatchWindowVisibili
tyChanged(ViewGroup.java:671)
E/AndroidRuntime( 851): at android.view.ViewGroup.dispatchWindowVisibili
tyChanged(ViewGroup.java:671)
E/AndroidRuntime( 851): at android.view.ViewRoot.performTraversals(ViewR
oot.java:646)
E/AndroidRuntime( 851): at android.view.ViewRoot.handleMessage(ViewRoot.
java:1482)
E/AndroidRuntime( 851): at android.os.Handler.dispatchMessage(Handler.ja
va:99)
E/AndroidRuntime( 851): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 851): at android.app.ActivityThread.main(ActivityThrea
d.java:3948)
E/AndroidRuntime( 851): at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime( 851): at java.lang.reflect.Method.invoke(Method.java:5
21)
E/AndroidRuntime( 851): at com.android.internal.os.ZygoteInit$MethodAndA
rgsCaller.run(ZygoteInit.java:782)
E/AndroidRuntime( 851): at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:540)
E/AndroidRuntime( 851): at dalvik.system.NativeStart.main(Native Method)
I/Process ( 568): Sending signal. PID: 851 SIG: 3
I/dalvikvm( 851): threadid=7: reacting to signal 3
I/dalvikvm( 851): Wrote stack trace to '/data/anr/traces.txt'
I/Process ( 851): Sending signal. PID: 851 SIG: 9
I/ActivityManager( 568): Process com.myname.android.neonote (pid 851) has
died.
I/WindowManager( 568): WIN DEATH: Window{43785a20 com.myname.android.salaman
der/com.myname.android.neonote.SalamanderMain paused=false}
I/WindowManager( 568): WIN DEATH: Window{437867f8 SurfaceView paused=false}
I/WindowManager( 568): WIN DEATH: Window{437101f8 com.myname.android.salaman
der/com.myname.android.neonote.Salamander paused=false}
I/WindowManager( 568): WIN DEATH: Window{43711b10 SurfaceView paused=false}
W/InputManagerService( 568): Got RemoteException sending setActive(false) notif
ication to pid 851 uid 10019