У меня возникли проблемы с получением уведомления с настраиваемым макетом для отображения. Если я использую следующий (старый) код:Пользовательские уведомления Android не отображаются
notification = new Notification();
notification.icon = R.drawable.icon;
notification.tickerText = currentTickerText;
notification.when = System.currentTimeMillis();
notification.setLatestEventInfo(context, (CharSequence)currentTitle, (CharSequence)"", pendingIntent);
Все работает должным образом и появляется уведомление. Однако, если я использую следующий (новый) код:
contentView = new RemoteViews(context.getPackageName(), R.layout.service_notification);
contentView.setImageViewResource(R.id.image, R.drawable.icon);
contentView.setTextViewText(R.id.title, (CharSequence)currentTitle);
contentView.setTextViewText(R.id.text, (CharSequence)"");
contentView.setViewVisibility(R.id.pgStatus, View.GONE);
notification = new Notification();
notification.tickerText = currentTickerText;
notification.when = System.currentTimeMillis();
notification.contentView = contentView;
notification.contentIntent = pendingIntent;
Уведомление никогда не отображается. Мне тоже не дают ошибки, поэтому я не уверен, где искать проблему. Вот код макета service_notification:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp" >
<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_marginRight="10dp" />
<TextView android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/image"
android:text="This is the title."
style="@style/NotificationTitle" />
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/image"
android:layout_below="@id/title"
android:text="This is the status"
style="@style/NotificationText" />
<ProgressBar
android:id="@+id/pgStatus"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text"
android:layout_toRightOf="@+id/image" />
</RelativeLayout>
Кроме того, я бегу это на 2.2 эмулятора Android, если это делает разницу.
У кого-нибудь есть идеи о том, что может быть неправильным или как я могу найти решение проблемы? Я немного растерялся, так как у меня нет сообщения об ошибке для работы. Благодаря!
Hm. Ну, это, по крайней мере, часть проблемы. Теперь уведомление о тикере показывает, но когда я перетаскиваю его, чтобы увидеть текущие уведомления, он говорит, что их нет ... хотя мой значок четко отображается в верхнем левом углу. Мысли? –
@SpencerRuport Отредактировал мой ответ.:) –
У меня есть значок (и все остальные требования) и ... ничего. Код выполнен, нет ошибок, и не появляется уведомление :( – SteveCav