안드로이드 개발 질문/답변
(글 수 45,052)
import java.util.Timer; import java.util.TimerTask;
import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.location.LocationManager; import android.os.Bundle;
public class TalkActivity extends Activity { private TimerTask second; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
// 위치 관리자 구함 LocationManager LocMan = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
if(LocMan.isProviderEnabled(LocationManager.GPS_PROVIDER)){ }else{ AlertDialog.Builder builder = new AlertDialog.Builder(TalkActivity.this); builder.setMessage("GPS를 켜주시기 바랍니다." + "\n" + "3초후 핸드폰이 폭팔합니다"); builder.setPositiveButton("확인", null); builder.show(); Timer timer = new Timer(); timer.schedule(second, 0, 3000); System.exit(0); }
} }
11-30 09:43:21.459: D/skia(8928): SHAPER: stream created /data/data/com.jungle.app.fonts/tmp/SJbangu.ttf.. 0x101A48 11-30 09:43:21.779: W/dalvikvm(8928): threadid=1: thread exiting with uncaught exception (group=0x40018560) 11-30 09:43:21.789: E/AndroidRuntime(8928): FATAL EXCEPTION: main 11-30 09:43:21.789: E/AndroidRuntime(8928): java.lang.RuntimeException: Unable to start activity ComponentInfo{kpapptim.talk/kpapptim.talk.TalkActivity}: java.lang.NullPointerException 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.os.Handler.dispatchMessage(Handler.java:99) 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.os.Looper.loop(Looper.java:130) 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.app.ActivityThread.main(ActivityThread.java:3683) 11-30 09:43:21.789: E/AndroidRuntime(8928): at java.lang.reflect.Method.invokeNative(Native Method) 11-30 09:43:21.789: E/AndroidRuntime(8928): at java.lang.reflect.Method.invoke(Method.java:507) 11-30 09:43:21.789: E/AndroidRuntime(8928): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 11-30 09:43:21.789: E/AndroidRuntime(8928): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 11-30 09:43:21.789: E/AndroidRuntime(8928): at dalvik.system.NativeStart.main(Native Method) 11-30 09:43:21.789: E/AndroidRuntime(8928): Caused by: java.lang.NullPointerException 11-30 09:43:21.789: E/AndroidRuntime(8928): at java.util.Timer.scheduleImpl(Timer.java:572) 11-30 09:43:21.789: E/AndroidRuntime(8928): at java.util.Timer.schedule(Timer.java:483) 11-30 09:43:21.789: E/AndroidRuntime(8928): at kpapptim.talk.TalkActivity.onCreate(TalkActivity.java:31) 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 11-30 09:43:21.789: E/AndroidRuntime(8928): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 11-30 09:43:21.789: E/AndroidRuntime(8928): ... 11 more
타이머에서 오류가있다고그르네용 ㄷㄷㄷㄷ
GPS가 안켜지면 다이얼로그가뜨고 3초후 어플종료인대 ...
타이머에서 오류가뜨네요 ㄷㄷ 다이얼로그는 타이머없을때 뜹니다 ㅎㅎ
Timer 클래스의 scheduleImpl 에서 널포인터 익셉션이 발생했네요. 어딘가에 null값을 넣거나 정의 안된 값을 넣은건지 확인해보세요~