0
푸시 알림을 표시하려는 앱에서 작업하고 있습니다. 제 3 자 서비스를 사용하지 않는 것은 제 고객의 요구 사항이므로 GCM/Firebase를 사용하는 것은 의문의 여지가 있습니다.앱이 GCM/Firebase없이 닫힐 때 Android 알림 실행
아래 코드를 사용하여 서비스 알림을 성공적으로 표시 할 수 있습니다.
public class SendNotificationService extends Service {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
CharSequence title = "Notification Title";
CharSequence message = "This is a test notification.";
Drawable drawable= ContextCompat.getDrawable(this,R.drawable.brand_icon_color);
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.brand_icon_small_color)
.setLargeIcon(bitmap)
.setAutoCancel(true)
.setContentTitle(title)
.setOngoing(false);
mBuilder.setContentText(message);
mBuilder.setTicker(message);
mBuilder.setWhen(System.currentTimeMillis());
NotificationManager notificationManager = (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(), 0);
mBuilder.setContentIntent(pendingIntent);
notificationManager.notify(0, mBuilder.build());
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onDestroy() {
Toast.makeText(this, "Notifications Stopped...", Toast.LENGTH_LONG).show();
}
}
이 서비스는 내 AsyncTask onPostExecute 메서드를 통해 시작합니다.
Intent intentService = new Intent(context, SendNotificationService.class);
context.startService(intentService);
나는 튜토리얼의 다음 수를 만들어 내가 안드로이드 설정에서 내 실행중인 애플리케이션으로 갈 경우, 나는이 서비스 실행을 볼 수있을 것이다 것을 발견했다. 그러나 그러한 서비스를 찾을 수 없었습니다.
이제 응용 프로그램을 닫으면 문제가 사라지고 알림도 사라집니다. 나는 사용자가 어떤 행동을 취할 때까지 그것을 머물고 싶다.
이 외에도 앱을 시작하지 않아도 전화 시작으로이 서비스를 시작하겠습니다.
부팅시 서비스를 실행하려면 다음을 확인하십시오. http://stackoverflow.com/questions/2784441/trying-to-start-a-service-on-boot-on-android – zed
"푸시 알림을 표시하고 싶습니다."- 코드에는 아무 것도 관련이 없습니다. "신청서를 닫을 때"- ** 자세히 설명해주십시오. ** 이것이 의미하는 바를 말하십시오. – CommonsWare
코드에서 알림을 표시 할 수 있습니다. 백그라운드에서이 서비스를 실행할 수있는 경우이 알림을 푸시하는 방법은 어렵지 않습니다. 앱 닫기에서 앱을 단순히 최근 Apps에서 슬라이드하거나 X를 눌러 닫으면 알림 바에서 알림이 사라집니다. –