Как я могу вывести мое приложение android на передний план, когда отправляю уведомление, когда приложение работает в фоновом режиме? - PullRequest
0 голосов
/ 17 марта 2020

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

Я установил ожидающее намерение для трансляции Получатель, а затем написал код, чтобы вывести приложение на передний план, когда уведомление проведено. Кроме того, я использовал setDeleteIntent, чтобы при удалении уведомления я мог выполнить желаемое действие по выводу приложения на передний план.

public void showNotification(View v) {
        RemoteViews collapsedView = new RemoteViews(getPackageName(),
                R.layout.notification_collapsed);

        Intent activityIntent = new Intent(this, MainActivity.class);
        PendingIntent clickPendingIntent = PendingIntent.getActivity(this, 0, activityIntent,0);

        Intent intent = new Intent(this, BroadcastReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);


        String date = new SimpleDateFormat("HH:mm").format(Calendar.getInstance().getTime());
        collapsedView.setTextViewText(R.id.text_view_time, date);

        Notification notification = new NotificationCompat.Builder(this, CHANNEL_1_ID)
                .setSmallIcon(R.drawable.app_icon)
                .setCustomContentView(collapsedView)
                .setShowWhen(true)
                //.setStyle(new NotificationCompat.DecoratedCustomViewStyle())
                .setContentIntent(clickPendingIntent)
                .setDeleteIntent(pendingIntent)
                .build();

        notificationManager.notify(1, notification);
    }

Вот мой класс BroadcastReceiver.

private final BroadcastReceiver receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Intent activityIntent = new Intent(context, MainActivity.class);
            PendingIntent clickPendingIntent = PendingIntent.getActivity(context, 0, activityIntent,0);
        }
   };
...