Intereting Posts
Проблема с бесконечным бесконечным прокруткой RecyclerView Android context.getResources.updateConfiguration () устарел Android показывает EditText.setError () над EditText, а не ниже Не удается получить офлайн-сообщения, используя asmack api для приложения Gtalk Что эквивалентно onPrepareOptionsMenu для панели инструментов поддержки? Могу ли я использовать кнопку пожертвования PayPal в своем приложении для Android в Google Play? Сгенерировать карту <String, String> из POJO SensorManager.getRotationMatrix параметр силы тяжести или значения параметра акселерометра в android? Android Studio / gradle динамическое имя apk не синхронизировано Не удается найти API Google для Android SDK Приложение Android не отображается в списке последних приложений Лучший способ справиться с различными размерами экрана Android? Как объявить два пакета с их действиями в файле манифеста android? Андроид – отключение интеллектуального текста Ошибка соединения Bluetooth "java.io.IOException: чтение не выполнено, сокет может быть закрыт или таймаут, read ret: -1"

Как создавать уведомления, которые не исчезают при нажатии на Android?

int icon = R.drawable.icon4; CharSequence tickerText = "Hello"; // ticker-text long when = System.currentTimeMillis(); Context context = getApplicationContext(); CharSequence contentTitle = "Hello"; CharSequence contentText = "Hello"; Intent notificationIntent = new Intent(this, Example.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); Notification notification = new Notification(icon, tickerText, when); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 

Это не сработает для меня.

Как я могу создать уведомление, которое можно щелкнуть и перейти в мое приложение, но не исчезает при нажатии?

Вы должны прочитать все, что не просто часть, приятель. Пожалуйста, внимательно прочитайте шаг за шагом.

 // this String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); int icon = R.drawable.icon4; CharSequence tickerText = "Hello"; // ticker-text long when = System.currentTimeMillis(); Context context = getApplicationContext(); CharSequence contentTitle = "Hello"; CharSequence contentText = "Hello"; Intent notificationIntent = new Intent(this, Example.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); Notification notification = new Notification(icon, tickerText, when); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); // and this private static final int HELLO_ID = 1; mNotificationManager.notify(HELLO_ID, notification); 
 int icon = R.drawable.ic_launcher; long when = System.currentTimeMillis(); NotificationManager nm=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); Intent intent=new Intent(context,MainActivity.class); PendingIntent pending=PendingIntent.getActivity(context, 0, intent, 0); Notification notification; if (Build.VERSION.SDK_INT < 11) { notification = new Notification(icon, "Title", when); notification.setLatestEventInfo( context, "Title", "Text", pending); } else { notification = new Notification.Builder(context) .setContentTitle("Title") .setContentText( "Text").setSmallIcon(R.drawable.ic_launcher) .setContentIntent(pending).setWhen(when).setAutoCancel(true) .build(); } notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.defaults |= Notification.DEFAULT_SOUND; nm.notify(0, notification); на int icon = R.drawable.ic_launcher; long when = System.currentTimeMillis(); NotificationManager nm=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); Intent intent=new Intent(context,MainActivity.class); PendingIntent pending=PendingIntent.getActivity(context, 0, intent, 0); Notification notification; if (Build.VERSION.SDK_INT < 11) { notification = new Notification(icon, "Title", when); notification.setLatestEventInfo( context, "Title", "Text", pending); } else { notification = new Notification.Builder(context) .setContentTitle("Title") .setContentText( "Text").setSmallIcon(R.drawable.ic_launcher) .setContentIntent(pending).setWhen(when).setAutoCancel(true) .build(); } notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.defaults |= Notification.DEFAULT_SOUND; nm.notify(0, notification); 

Или вы можете скачать прямое руководство отсюда: http://www.demoadda.com/demo/android/how-to-create-local-notification-notification-manager-demo-with-example-android-source-code_26

Если вы используете Android 5.0>, стало намного проще, функциональность изменилась, но вы можете использовать тот же код.

 //Some Vars public static final int NOTIFICATION_ID = 1; //this can be any int //Building the Notification NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setSmallIcon(R.drawable.ic_stat_notification); builder.setContentTitle("BasicNotifications Sample"); builder.setContentText("Time to learn about notifications!"); NotificationManager notificationManager = (NotificationManager) getSystemService( NOTIFICATION_SERVICE); notificationManager.notify(NOTIFICATION_ID, builder.build()); 

Убедитесь, что вы находитесь в контексте приложения, если нет, вам может потребоваться передать контекст и изменить исходный код следующим образом

 NotificationCompat.Builder builder = new NotificationCompat.Builder(context); ... .. . NotificationManager notificationManager = (NotificationManager) context.getSystemService( context.NOTIFICATION_SERVICE); 

Вы можете увидеть полный исходный код по адресу: https://github.com/googlesamples/android-BasicNotifications/blob/master/Application/src/main/java/com/example/android/basicnotifications/MainActivity.java#L73

Вот код

  Intent intent = new Intent(this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("Push Notification") .setContentText(messageBody) .setAutoCancel(true) .setSound(defaultSoundUri) .setContentIntent(pendingIntent); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(0, notificationBuilder.build()); 

Здесь, если вы хотите получать уведомления, которые не исчезают при нажатии на Android? Так что

 setAutoCancel(false); 
  if (android.os.Build.VERSION.SDK_INT>16) { notificationManager.notify(5, notification.build()); }else { notificationManager.notify(5, notification.getNotification()); } 

Чтобы работать в android.os.Build.VERSION.SDK_INT<16 имейте в виду сделать некоторые изменения