Android-уведомление не работает для 2.3 пряник
Этот код работает для версии 2.3 выше (не работает для 2.3)
Intent resultIntent = new Intent(this, MainActivity.class);
resultIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.abc_logo)
.setContentTitle("My Title")
.setWhen(System.currentTimeMillis())
.setContentIntent(pendingIntent)
.setContentText("My text");
mBuilder.setContentIntent(pendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
mNotificationManager.notify(NOTIFY_ID, mBuilder.build());
1 ответ
Решение
С PendingIntent.getBroadcast()
Вы собираетесь отправить трансляцию всем возможным получателям. Проблема в:
resultIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
Он НЕ будет использоваться для запуска действия. Таким образом, вы не можете установить какие-либо из флагов, связанных с деятельностью, таких как FLAG_ACTIVITY_SINGLE_TOP.
Удалите его, и он должен работать на ГБ тоже.
Вы можете установить только флаги Intent, связанные с Activity, в PendingIntent, если вы вызываете getActivity() для получения PendingIntent.