0

До сих пор я мог создавать собственные уведомления, когда мой проигрыватель начинает играть, но проблема возникает, когда я нажимаю кнопку уведомления, которая не только останавливает кнопку медиаплеера, а кнопку кнопки, чтобы остановить значок.Как обновить пользовательское уведомление без привлечения всего приложения?

Но для этого мне нужно вернуть все приложение из мертвых и его раздражение, когда пользователь нажимает кнопку остановки в уведомлении, что все приложение просто появляется.

Я использую намерение сделать вызов MainActivty, который останавливает игрока, а также обновляет панель уведомлений, которую остановил плеер.

Кажется, что только обычные примеры уведомления, такие как отображение простой информации и отклонение уведомления при нажатии кнопки. Потянув мои волосы в течение 5 дней, кто-нибудь может мне помочь! ПОЖАЛУЙСТА ?

PS: Я не хочу использовать уведомление MediaStyle.

ответ

1

Активность пользователя без интерфейса пользователя.

public class NotificationActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //do your stuff 
    finish();//end activity 
} 

public static PendingIntent getViewIntent(int id){ 
    Intent intent = new Intent(AppContext.context, NotificationActivity.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);  
    return PendingIntent.getActivity(AppContext.context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 
} 
} 

В манифесте:

<activity 
     android:name=".NotificationActivity" 
     android:taskAffinity="" 
     android:excludeFromRecents="true" 
     android:theme="@android:style/Theme.NoDisplay"> 
    </activity> 

А внутри NotificationBuilder

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(AppContext.context); 

PendingIntent resultPendingIntent = NotificationActivity.getViewIntent(id); 
    mBuilder.setContentIntent(resultPendingIntent); 

Чтобы обновить уведомление с новыми иконками, вы должны обновить пользовательские уведомления с желаемыми иконками и шоу уведомления снова используя тот же идентификатор уведомления.

NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 

    int notificationID =100;// this ID has to be same as your previuos ID 
    // mId allows you to update the notification later on. 
    mNotificationManager.notify(notificationID, mBuilder.build()); 
+0

Итак, вы говорите, что я должен создать новое отдельное мероприятие для уведомления, кроме моей MainActivity? и 'android: taskAffinity =" "' почему это пусто? –

+0

Сродство указывает, к какой задаче относится деятельность. Таким образом, настройка "" не приводит к нулю. –

+0

Извините, забыл сообщить. вам нужно установить resultPendingIntent на кнопку остановки/воспроизведения. Таким образом, щелчок откроет активность уведомления. На данный момент нажатие целых уведомлений откроет активность уведомлений –

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