无法使用AlarmManager接收通知

时间:2019-04-10 07:27:42

标签: android kotlin service notifications

我正在使用Android API 28。 我想通过AlarmManagerService中发送推送通知。因此,在服务中,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);

0 个答案:

没有答案