2013-03-14 3 views
3

Android에서 알림과 같은 기능을 만들고 싶습니다.주기적으로 내 앱을 깨우는 방법

내 앱/활동을 시작하거나, 실행 중이 아니거나, UI가 보이지 않도록하고 싶습니다.

원하는 시간에 앱을 깨우는 알림과 같은 것입니다.

어떤 유형의 백그라운드 작업이나 서비스 ( )도 사용하지 않아서 무엇을 해야할지 전혀 모르겠다. 또는 어떤 유형의 수업이나 데모를 공부해야합니까?

누구든지 데모 또는 자습서 링크를 사용하여 제안 할 수 있습니까? 감사합니다, 사전에.

+1

AlarmManager가 작동해야합니다. –

+0

서비스 구현 http://developer.android.com/reference/android/app/Service.html – 4ndro1d

답변

1

Android 서비스 클래스를 살펴보십시오. 당신의 앱을 열거 나 바로 사용자가 원하는 활동으로 앱을 열 수있는 신고서를 설정하는 의도를 (A TimerTask를 사용)는 정기적으로 시작할 수있는이 서비스에서 http://developer.android.com/reference/android/app/Service.html


. 나는 두 번째 옵션을 선호 할 것입니다. 왜냐하면 그는 사용자가 단지 언젠가 열리는 응용 프로그램을 원하지 않기 때문입니다. http://www.vogella.com/articles/AndroidServices/article.html

1

안녕은 다음 코드를 사용

여기에 간단한 서비스 튜토리얼입니다. 이것은 서비스입니다. 경보 관리자와 함께 보류중인 Intent를 사용하여 필요한 시간에 UI를 열 수 있습니다.

import java.util.Calendar; 
import java.util.Timer; 
import java.util.TimerTask; 
import android.app.AlarmManager; 
import android.app.PendingIntent; 
import android.app.Service; 
import android.content.Context; 
import android.content.Intent; 
import android.database.Cursor; 
import android.os.Handler; 
import android.os.IBinder; 
import android.os.Message; 
import android.util.Log; 
public class ScheduleCheckService extends Service{ 

    private Timer timer; 
    final int REFRESH=0; 
    Context context; 
    private PendingIntent pendingIntent; 

    @Override 
    public IBinder onBind(Intent intent) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public void onCreate() { 
     // TODO Auto-generated method stub 
     super.onCreate(); 
     context=this; 
     //============================================== 

     TimerTask refresher; 
     // Initialization code in onCreate or similar: 
     timer = new Timer();  
     refresher = new TimerTask() { 
      public void run() { 
       handler.sendEmptyMessage(0); 
      }; 
     }; 
     // first event immediately, following after 1 seconds each 
     timer.scheduleAtFixedRate(refresher, 0,1000); 
     //======================================================= 

    } 

    final Handler handler = new Handler() { 


     public void handleMessage(Message msg) { 
       switch (msg.what) { 
       case REFRESH: 
        //your code here 


        break; 
       default: 
        break; 
       } 
      } 
     }; 


     void PendingIntentmethod() 
     { 
     Intent myIntent = new Intent(context, YOURCLASS.class);   
     pendingIntent = PendingIntent.getActivity(context, 0, myIntent, 0); 
     AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 
     Calendar calendar = Calendar.getInstance(); 


     } 




} 

서비스를 시작하고 원하는 경우 서비스를 중지하고 매니페스트 파일에 등록하는 것을 잊지 마십시오.