#android #customization #android-notifications
#Android #настройка #android-уведомления
Вопрос:
вот мой код
public static PendingIntent getDismissIntent(int notificationId,
Context context) {
Intent intent = new Intent(context, ClsNotificationCloseReceiver.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.putExtra(NOTIFICATION_ID, notificationId);
PendingIntent dismissIntent = PendingIntent.getActivity(context, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT);
return dismissIntent;
}
private void startNotification() {
String ns = Context.NOTIFICATION_SERVICE;
notificationManager = (NotificationManager) MainActivity.this
.getSystemService(NOTIFICATION_SERVICE);
PendingIntent dismissIntent = MainActivity.getDismissIntent(1,
MainActivity.this);
@SuppressWarnings("deprecation")
Notification notification = new Notification(
R.drawable.notification_icon, "abc", System.currentTimeMillis());
RemoteViews notificationView = new RemoteViews(getPackageName(),
R.layout.mynotification);
// the intent that is started when the notification is clicked (works)
Intent intent = new Intent(MainActivity.this, MainActivity.class);
// PendingIntent pendingIntent = PendingIntent
// .getActivity(MainActivity.this, 1, intent,
// PendingIntent.FLAG_UPDATE_CURRENT);
notification.contentView = notificationView;
// notification.contentIntent = pendingIntent;
notification.flags |= Notification.FLAG_NO_CLEAR
| Notification.FLAG_ONGOING_EVENT;
// this is the intent that is supposed to be called when the
// button is clicked
Intent switchIntent = new Intent(this, MainActivity.class);
PendingIntent pendingSwitchIntent = PendingIntent.getBroadcast(this, 0,
switchIntent, 0);
notificationView.setOnClickPendingIntent(R.id.closeOnFlash,
dismissIntent);
notificationManager.notify(1, notification);
}
mynotification.xml
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="100" >
<ImageView
android:id="@ id/notifiation_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="38"
android:contentDescription=" vvxcv"
android:paddingLeft="8dp"
android:src="@drawable/notification_icon" />
<TextView
android:id="@ id/appName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@ id/notifiation_image"
android:layout_toRightOf="@ id/notifiation_image"
android:layout_weight="57"
android:paddingLeft="8dp"
android:text="@string/app_name"
android:textColor="#000000"
android:textSize="15dp" />
<Button
android:id="@ id/closeOnFlash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="5"
android:background="@drawable/btnstop"
android:onClick="stopRecording" />
</LinearLayout>
Я вызываю метод startNotification, но он останавливается. Я хочу вот что: https://drive.google.com/file/d/0BwgJuKXMh_yGdG1YX1BJUUVzSTA/view?usp=sharing и уведомление не должно быть очищено до тех пор, пока я не нажму кнопку остановки
Комментарии:
1. «мое приложение останавливается», как, что, почему, когда?
2. проверьте вопрос редактирования
3. вместо этого вы должны использовать NotificationCompat. вот так ** Уведомление NotificationCompat.Builder = новое уведомление NotificationCompat.Builder (контекст);**
4. developer.android.com/training/notify-user/…
5. кто-нибудь может отредактировать мой ответ и отправить мне?
Ответ №1:
Пожалуйста, сначала отправьте журналы в случае ошибок, поскольку я вижу, что это можно решить с помощью NotificationCompat.Builder class, а затем просто очистите проект перед его запуском.
new NotificationCompat.Builder(getApplicationContext());