2013-12-16 3 views
0

사용자가 지정한 특정 시간마다 대화 상자 활동을 표시하는 응용 프로그램을 만듭니다. 나는 이것을하기 위해 Timer를 사용했고 모든 것이 괜찮습니다. 그러나 다시 홈 화면으로 돌아 가면 대화 상자 활동이 나타나지 않습니다. 기본 활동에 계속 표시되는 것입니다. 일단 응용 프로그램을 다시 열면 이미 타이머에 의해 열린 대화 활동의 수를 발견했기 때문입니다. 그렇다면 어떻게 대화 상자 활동을 장치의 어디에 표시 할 수 있습니까?홈 화면에서 활동을 실행하는 방법은 무엇입니까?

강령 :

   tt = new TimerTask() 
       { 
        @Override 
        public void run() { 
         runOnUiThread(new Runnable() { 

          @Override 
          public void run() { 
           Intent openD = new Intent(MainActivity.this,Dialog.class); 
           openD.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
           startActivity(openD); 

          } 
         }); 
        }  
       }; 
       t = new Timer(); 
      t.schedule(tt,0,5000); 

답변

0

홈 버튼으로 이동하면 활동이 일시 중지 상태로 바뀌고 그로 인해 파괴되므로 타이머 논리를 서비스에 넣고 거기에서 활동을 호출합니다. 이렇게하면 집으로 돌아갈 때 화면 논리는 여전히 실행 상태로 유지됩니다. 당신이 당신의 활동, 특정 이벤트에 모든 시간을 팝업 당신이 당신의 서비스 또한 지속을 확인하려는 경우

은 음주, 메모로 또한 http://developer.android.com/guide/components/services.html

안드로이드

에서 활동 & 서비스의 라이프 사이클을 참조하십시오.

+0

뒤로 키 기능을 이미 변경하여 활동을 파괴하지 않고, 단지 집 버튼을 클릭 한 것처럼 백그라운드에서 계속 실행하십시오. –

+0

배경으로 들어가면, 활동이 백그라운드 활동 및 모든 프로세스는 일시 정지 된 상태로 유지됩니다. – Techfist

+0

Timer 내부 서비스를 실행하기 위해 코드를 재구성하여 작동하지만 대화 활동이 나타나면 주 활동과 함께 표시됩니다. 응용 프로그램을 열지 않고 대화 상자 활동 만 표시하려고합니다. 내가 어떻게 할 수 있니? –

관련 문제