我正在使用Android API 28。
我想通过AlarmManager
在Service
中发送推送通知。因此,在服务中,alarmManager
设置发送推送通知的特定持续时间。
我试图做到这一点,所以搜索了一些示例。它适用于“棉花糖6.0和牛轧糖7.0”。 但是无法在我的手机(Android Pie 9.0)上使用。
只有我发现工作正在进行中,但我需要从服务中移除通知。
我该怎么办?我需要你的帮助。谢谢您阅读我的问题。
添加的代码
nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
tabletnoti_channel = new NotificationChannel(TABLETNOTI_ID, getString(R.string.noti), NotificationManager.IMPORTANCE_DEFAULT);
tabletnoti_channel.setDescription(getString(R.string.app_name));
tabletnoti_channel.enableLights(true);
tabletnoti_channel.setLightColor(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimary));
tabletnoti_channel.enableVibration(true);
tabletnoti_channel.setVibrationPattern(new long[]{100, 200, 100, 200});
tabletnoti_channel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
nm.createNotificationChannel(tabletnoti_channel);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
Statebuilder = new Notification.Builder(getApplicationContext(), TABLETNOTI_ID);
} else {
Statebuilder = new Notification.Builder(getApplicationContext());
}
StateBuilder.setContentTitle(sharedPreferences.getString("connectDevice", "sample") + " " + getString(R.string.device_bat))
.setContentText(getString(R.string.not_connected))
.setOngoing(true)
.setShowWhen(false)
.setColor(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimary))
.setSmallIcon(R.drawable.ic_cloud_off)
.setOnlyAlertOnce(true);
if (sharedPreferences.getBoolean("show_noti", true)) nm.notify(STATE_NOTI_ID, StateBuilder.build());
else nm.cancel(STATE_NOTI_ID);