0

Я пытаюсь создать уведомление и получить его через некоторое время.Получение 'E/JavaBinder: !!! СРОК ДЕЙСТВИЯ СДЕЛКИ !!! (размер посылки = 9448080) 'при попытке создать уведомление

Вот как:

futureInMillis = SystemClock.elapsedRealtime() + 176000; 

Intent notificationIntent = new Intent(getBaseContext(), NotificationG.class); 
notificationIntent.putExtra(NotificationG.NOTIFICATION, getNotification()); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), m, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, futureInMillis, pendingIntent); 

Вот NotificationG.class:

public class NotificationG extends BroadcastReceiver { 

    public static String NOTIFICATION = "notification_gatsp"; 
    public static NotificationManager mNotifyMgr; 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     mNotifyMgr = 
       (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE); 

     Notification notification = intent.getParcelableExtra(NOTIFICATION); 
     notification.defaults |= Notification.DEFAULT_SOUND; 
     notification.defaults |= Notification.DEFAULT_VIBRATE; 
     mNotifyMgr.notify(5, notification); 

    } 
} 

Вот это getNotification() метод:

public Notification getNotification() { 

icon = BitmapFactory.decodeResource(getBaseContext().getResources(), 
      R.drawable.app_icon_1); 

     mBuilder = 
       new NotificationCompat.Builder(getBaseContext()) 
         .setSmallIcon(R.mipmap.app_icon_1) 
         .setContentTitle("title") 
         .setLargeIcon(icon) 
         .setStyle(new NotificationCompat.BigTextStyle().bigText("")) 
         .setContentText(""); 

     Intent resultIntent = new Intent(getBaseContext(), ARequest.class); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 
     resultIntent.putExtra("text", text); 

     // Because clicking the notification opens a new ("special") activity, there's 
     // no need to create an artificial back stack. 
     PendingIntent resultPendingIntent = 
       PendingIntent.getActivity(
         getBaseContext(), 
         0, 
         resultIntent, 
         PendingIntent.FLAG_UPDATE_CURRENT 
       ); 

     mBuilder.setAutoCancel(true); 
     mBuilder.setContentIntent(resultPendingIntent); 
     return mBuilder.build(); 
    } 

, но я не получаю какого-либо уведомления вместо этой ошибки: E/JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 9448080) является распечатывается.

Что происходит здесь и как его исправить?

Пожалуйста, дайте мне знать.

+0

Это фактический код, который вы используете (со всеми этими вызовами 'putExtra (« text », text)»? Или это просто пример. Похоже, ваше уведомление имеет размер 9 МБ, который слишком велик. Что вы вкладываете в «Intent» как дополнительные функции? –

+0

@DavidWasser да, это фактический код, но я заменил фактический ключ и значение на «текст». Я помещаю только тексты в «Intent» в качестве дополнительных функций. –

ответ

0

Я выяснил проблему здесь, и это было с небольшой иконкой уведомления. Это превысило предел связующего.

Этот же значок был сохранен и в моей папке mipmap и сменив ссылку с R.drawable.app_icon_1 на R.mipmap.app_icon_1, сделал эту работу для меня.

Я изменил эту строку:

icon = BitmapFactory.decodeResource(getBaseContext().getResources(), 
      R.drawable.app_icon_1); 

с этим:

icon = BitmapFactory.decodeResource(getBaseContext().getResources(), 
      R.mipmap.app_icon_1); 

и теперь нет больше ошибок.

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

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