2016-01-13 3 views
0

Я играю с уведомлениями на Android TV. Однако мне не удалось получить уведомление на экране. Я использую плеер Nexus, который находится на Android 6.0.Уведомление не появится на Android TV

Когда я запускаю этот код на своем телефоне, появляется уведомление. Но по телевизору уведомление не появляется. Я что-то упускаю?

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    showNotification(); 
} 

private void showNotification() { 
    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) 
      .setSmallIcon(R.drawable.ic_launcher) 
      .setContentTitle("My notification") 
      .setContentText("Hello World!") 
      .setCategory(Notification.CATEGORY_RECOMMENDATION) 
      .setPriority(Notification.PRIORITY_HIGH) // heads up must be high priority 
      .setAutoCancel(true) 
      .setVibrate(new long[0]); // needed to guarantee heads up (need vibrate or ringtone) 

    Notification notification = new NotificationCompat.BigPictureStyle(mBuilder).build(); 

    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    // mId allows you to update the notification later on. 
    int mId = 0; 
    mNotificationManager.notify(mId, notification); 
} 

EDIT Я думаю, что мой код работает все вместе. У меня был код выше в моем onCreate(). Итак, я ожидал, что когда приложение запустится, на экране появится какое-то уведомление. Тем не менее, я вижу, что когда я нажимаю кнопку «домой», есть рекомендация в этой домашней карусели. Когда я нажимаю на него, он правильно следует моим ожидающим намерениям. Этого не произойдет, если я удалю линию .setCategory(Notification.CATEGORY_RECOMMENDATION). Таким образом, это ключ для Android TV «Уведомления»

ответ

0

Уведомление о телевидении будет каким-то образом отличаться от уведомления по телефону и может иметь специальные дополнительные параметры. Попробуйте добавить еще несколько атрибутов. Вот фрагмент телевизионного уведомления, которое я реализовал в одном из моих приложений, которое работает.

Notification notification = new NotificationCompat.BigPictureStyle(
      new NotificationCompat.Builder(mContext) 
        .setContentTitle(video.getString("title")) 
        .setContentText(mDescription) 
        .setPriority(mPriority) 
        .setLocalOnly(true) 
        .setOngoing(true) 
        .setColor(mContext.getResources().getColor(android.R.color.holo_green_dark)) 
        .setCategory(Notification.CATEGORY_RECOMMENDATION) 
        .setLargeIcon(thumbnail) 
        .setSmallIcon(R.drawable.ic_note) 
        .setContentIntent(launchApp(mContext)) 
        .setExtras(null)) 
      .build(); 


    return notification; 
+0

Вы знаете, что, я думаю, мой код работал все время. У меня был код в моей 'onCreate()'. Итак, я ожидал, что когда приложение запустится, на экране появится какое-то уведомление. Тем не менее, я вижу, что когда я нажимаю кнопку «домой», есть рекомендация в этой домашней карусели. Когда я нажимаю на него, он правильно следует моим ожидающим намерениям. –

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