0

этот код работает для выше версии 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); 

Это НЕ будет использоваться для запуска Activity. Поэтому вы не можете установить ни один из связанных с деятельностью флагов, таких как FLAG_ACTIVITY_SINGLE_TOP.

Удалите его, и он также должен работать на ГБ.

Вы можете установить флаги Intent, связанные с деятельностью, в PendingIntent, если вы вызываете getActivity(), чтобы получить PendingIntent.

 Смежные вопросы

  • Нет связанных вопросов^_^