마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

SystemClock 를 이용하여 시스템 시간을 체크하고 액티비티를 전환하고 싶습니다.

0 추천
public class MainActivity extends Activity {

	TextView chronView, runningProgress; // textView 선언
	Chronometer chron; //chronometer 선언
	@Override
	protected void onCreate(Bundle savedInstanceState) { //메인 액티비티의 onCreate시작
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		

		runningProgress = (TextView) findViewById(R.id.isRunning);

		
		chron = (Chronometer) findViewById(R.id.chron); //chronometer 연결
		chron.setBase(SystemClock.elapsedRealtime()); // 잘은 모르지만 베이스 시간을 설정하는 것 같습니다..
		chron.setOnChronometerTickListener(new OnChronometerTickListener() {

			public void onChronometerTick(Chronometer chronometer) { //실행중이라는 모양 띄우는것 입니다.
			@Override
				// TODO Auto-generated method stub
				String msg = "실행중";
				int sec = (int) (((SystemClock.elapsedRealtime() - chron.getBase()) / 1000) % 5);
				String dot = ".";
				for (int i = 0; i < sec; i++) {
					msg += dot;
				}
				runningProgress.setText(msg);
			}
		});
		
		chronView = (TextView) findViewById(R.id.chronometer_view);

                 long currentTime = (long) (SystemClock.elapsedRealtime() - chron.getBase());
              
                 if(currentTime > 10){
                      Intent   intent   = new   Intent(MainActivity.this , rockActivity.class);
                      startActivity(intent);
                } //제가 궁금한 노란색 부분입니다.

	}

안녕하세요. 이번에 안드로이드를 공부하면서 궁금한점이 있어 질문을 올립니다. 조금만 가르쳐주시면 정말

감사드립니다!. 제가 만들 프로그램은 SystemClock.elapsedRealtime() 을 이용하여 시스템이 가동중인 시간을 계산하고 일정한 시간이되면 다른 액티비티로 전환되는 그런 프로그램을 만들 계획입니다.

그라나 보시는것 처럼 currentTime 변수에 시스템 시간을 정해놓고 if 문을 돌려 시간이 10 이상이되면

다른액티비티로 전환되게 만들어 놓았는데 전환이 안되는 문제가 발생하고 있습니다.. 저 노란색 부분을

세시간동안 오만곳에 다 넣어봤는데 잘 되지 않아서 질문을 드립니다.. 어떻게 해야 화면 전환을 할 수 있을까요..?

okokokk2 (390 포인트) 님이 2016년 5월 16일 질문

1개의 답변

+1 추천
 
채택된 답변
그 작업 자체를 onChronometerTick 안에서 해야하지 않을까요..

onCreate에서 생성하고 크로노미터가 실행도 안된거같은데 onCreate 비교하면 당연히 처음 그대로 값비교하니 값의 변화가 없을것이구 onCreate는 한번만 실행되니 더이상 진행이 안될것이구요..

onChronometerTick안에서 저걸 구현해야 시간을 계속 체크해서 할수있겠죠..
캬옹이 (37,920 포인트) 님이 2016년 5월 16일 답변
okokokk2님이 2017년 8월 23일 채택됨
감사합니다! 고수님 덕분에 문제가 해결되었습니다ㅜㅜ
...