안 드 로 이 드 모 바 일 알 람 서비스 AlarmManagerk 개발 사례
3744 단어 AndroidAlarmManagerk휴대폰알람시계
AlarmManager 대상 가 져 오기:
getSystemService(Service.ALARM_SERVICE)
타이머 시작 지정 구성 요 소 를 설정 하 는 방법 을 호출 합 니 다:
set(int type,long triggerAtTime,PendingIntent operation)는 TriggerAtTime 시간 에 operation 매개 변수 가 지정 한 구성 요 소 를 시작 하도록 설정 합 니 다.
"첫 번 째 매개 변 수 는 정시 서비스의 유형 을 지정 합 니 다.그 값 은 다음 과 같 습 니 다."
ELAPSED_REALTime:지금부터 일정 시간 이 지나 면 operation 을 시작 하여 해당 구성 요 소 를 지정 합 니 다.
ELAPSED_REALTIME_WAKEUP:현실 시작 시간 이 일정 시간 지나 면 operation 대형 을 시작 하 는 구성 요 소 를 지정 하고,시스템 이 꺼 져 있어 도 operation 에 대응 하 는 구성 요 소 를 실행 합 니 다.
RTC:시스템 이 System.currentTimeMillls()방법 을 호출 하여 값 이 triggerAtTIme 과 같 을 때 operation 에 대응 하 는 구성 요 소 를 시작 하도록 지정 합 니 다.
RTC_WAKEUP:시스템 이 System.currentTimeMillls()방법 을 호출 하여 값 이 triggerAtTIme 과 같 을 때 operation 에 대응 하 는 구성 요 소 를 시작 합 니 다.시스템 이 꺼 져 있어 도 operation 에 대응 하 는 구성 요 소 를 실행 합 니 다."
setInexactRepeationg(int type,long triggerAtTIme,long interval,PendingIntent operation):부정 확 한 주기 적 작업 을 설정 합 니 다.
setRepeating(int type,long triggerAtTIme,long interval,PendingIntent operation):주기 적 인 정시 작업 을 설정 합 니 다.
cancle(PendingIntent operation)AlarmManger 정시 서비스 취소
예시:
핵심 코드:
public class MainActivity extends Activity {
private AlarmManager alarmManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// AlarmManager
alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);
}
public void btn(View view) {
final Calendar c = Calendar.getInstance();
TimePickerDialog dialog = new TimePickerDialog(this,
new OnTimeSetListener() {
// ( )
PendingIntent paIntent = PendingIntent.getActivity(MainActivity.this,
1, new Intent(MainActivity.this,SecondActivity.class),
PendingIntent.FLAG_UPDATE_CURRENT);
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//
c.set(Calendar.HOUR_OF_DAY, hourOfDay);
c.set(Calendar.MINUTE, minute);
//
//
//
alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), paIntent);
}
},
// ( )
c.get(Calendar.HOUR_OF_DAY),
c.get(Calendar.MINUTE),
true);
dialog.show();
}
}
레이아웃:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.alarmmanager.MainActivity" >
<Button
android:onClick="btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btntext" />
</RelativeLayout>
이상 은 본 고의 모든 내용 입 니 다.여러분 이 안 드 로 이 드 소프트웨어 프로 그래 밍 을 배 우 는 데 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.