이 예는 Android 앱이 닫힐 때 알림을 보내는 방법을 보여줍니다.
1단계 − Android Studio에서 새 프로젝트를 생성하고 파일 ⇒ 새 프로젝트로 이동하여 필요한 모든 세부 정보를 입력하여 새 프로젝트를 생성합니다.
2단계 − res/layout/activity_main.xml에 다음 코드를 추가합니다.
<전> xml 버전 ="1.0" 인코딩 ="utf-8" ?>3단계 − src/MainActivity
에 다음 코드 추가패키지 app.tutorialspoint.com.notifyme;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;public class MainActivity extends AppCompatActivity { @Override 보호된 무효 onCreate(SavedInstanceState 번들) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onStop() { super .onStop(); startService( new Intent( this, NotificationService.class )); } 공개 무효 closeApp (보기 보기) { finish(); }}
4단계 − src/NotificationService에 다음 코드 추가
패키지 app.tutorialspoint.com.notifyme;import android.app.NotificationChannel;import android.app.NotificationManager;import android.app.Service;import android.content.Intent;import android.os.Handler;import android. os.IBinder;import android.support.v4.app.NotificationCompat;import android.util.Log;import java.util.Timer;import java.util.TimerTask;public class NotificationService extends Service { public static final String NOTIFICATION_CHANNEL_ID ="10001 "; 개인 최종 정적 문자열 default_notification_channel_id ="기본"; 타이머 타이머; 타이머태스크 타이머태스크; 문자열 TAG ="타이머"; int Your_X_SECS =5; @Override public IBinder onBind(인텐트 arg0) { null을 반환합니다. } @Override public int onStartCommand (Intent intent, int flags, int startId) { 로그. e ( TAG , "onStartCommand" ); 슈퍼 .onStartCommand(의도, 플래그, 시작 ID); 시작 타이머(); 반환 START_STICKY; } @Override public void onCreate() { 로그. e ( TAG , "onCreate" ); } @Override public void onDestroy() { 로그. e ( 태그 , "onDestroy" ); stopTimerTask(); 슈퍼 .onDestroy(); } //우리는 TimerTask에서 실행할 수 있도록 핸들러를 사용할 것입니다. 최종 Handler handler =new Handler(); 공개 무효 startTimer() { 타이머 =new Timer(); initializeTimerTask(); 타이머 .schedule( timerTask , 5000 , Your_X_SECS * 1000 ); // } public void stopTimerTask() { if ( timer !=null ) { timer .cancel(); 타이머 =null; } } 공개 무효 initializeTimerTask() { timerTask =new TimerTask() { 공개 무효 실행() { 핸들러 .post( new Runnable() { 공개 무효 실행() { createNotification(); } }); } }; } 개인 무효 createNotification() { NotificationManager mNotificationManager =(NotificationManager) getSystemService( NOTIFICATION_SERVICE ); NotificationCompat.Builder mBuilder =new NotificationCompat.Builder(getApplicationContext(), default_notification_channel_id); mBuilder.setContentTitle( "내 알림" ); mBuilder.setContentText( "알림 리스너 서비스 예제" ); mBuilder.setTicker( "알림 리스너 서비스 예제" ); mBuilder.setSmallIcon(R.drawable.ic_launcher_foreground); mBuilder.setAutoCancel( true ); if (android.os.Build.VERSION. SDK_INT>=android.os.Build.VERSION_CODES. O ) { int 중요도 =NotificationManager. IMPORTANCE_HIGH; NotificationChannel notificationChannel =new NotificationChannel( NOTIFICATION_CHANNEL_ID , "NOTIFICATION_CHANNEL_NAME" , 중요도); mBuilder.setChannelId( NOTIFICATION_CHANNEL_ID ); 어설션 mNotificationManager !=null; mNotificationManager.createNotificationChannel(notificationChannel); } 어설션 mNotificationManager !=null; mNotificationManager.notify(( int ) 시스템.currentTimeMillis() , mBuilder.build()); }}
5단계 − AndroidManifest.xml에 다음 코드 추가
<전> xml 버전 ="1.0" 인코딩 ="utf-8" ?>응용 프로그램을 실행해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고 도구 모음에서 실행 아이콘을 클릭합니다. 모바일 장치를 옵션으로 선택한 다음 기본 화면을 표시할 모바일 장치를 확인하십시오 -