Я пытаюсь создать простое приложение для сообщений, чтобы обновить входящее сообщение, я использовал службу переднего плана. Мое приложение работает нормально, когда приложение работает или существует в фоновом режиме, но когда приложение закрыто, уведомление переднего плана не обновляется с последним сообщением, оно показывает только предыдущее, когда приложение было запущено.
Как я могу обновить уведомление переднего плана новыми входящими сообщениями ?? Кто-то предложил мне использовать для этой цели jobScheduler !! Я искал это, но не нашел ничего, связанного с моим проектом .. Я новичок в android, кто-нибудь, пожалуйста, помогите мне в этом ...
Вот фрагмент кода, который я сделал
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Uri ringtone= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALL);
String input=intent.getStringExtra("EXTRA");
Intent notification_intent=new Intent(this,MainActivity.class);
PendingIntent pendingIntent= PendingIntent.getActivity(this,0,notification_intent,0);
Notification builder = new NotificationCompat.Builder(this)
.setContentTitle("New Notifications")
.setContentText(input)
.setSmallIcon(R.drawable.ic_message_black_24dp)
.setContentIntent(pendingIntent)
.setLights(Color.BLUE,500,500)
.setShowWhen(true)
.setSound(ringtone)
.setAutoCancel(true)
.build();
startForeground(3,builder);
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
Этот метод вызывает startForegroundService ()
private void notification(String mas) {
String input=mas;
Intent serviceintent=new Intent(this,ExampleService.class);
serviceintent.putExtra("EXTRA",input);
ContextCompat.startForegroundService(this,serviceintent);
}
в Menifest. xml Я добавил это: <uses-permission android:name="android.permission.RECEIVE_SMS"/>
<receiver android:name=".ReceiveSms">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
<service android:name=".ExampleService"/>