Намерение уведомления - Как возобновить действие в уведомлении без сброса? - PullRequest
0 голосов
/ 01 апреля 2019

Я делаю приложение для таймера. Чтобы при использовании нажатия кнопки «Пуск» появлялось уведомление, а когда пользователь нажимает на уведомление, таймер должен возобновляться, а вместо этого отображается новое действие , который начинается снова с первого.

Я пытался TaskStackbuilder, но проблема сохраняется.

Intent resultIntent = new Intent(getApplicationContext(), MainActivity.class);

TaskStackBuilder stackBuilder = TaskStackBuilder.create(getApplicationContext());
stackBuilder.addNextIntentWithParentStack(resultIntent);

PendingIntent res = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);

Notification not = new NotificationCompat.Builder(this,CHANNEL_ID)
            .setSmallIcon(R.drawable.ic_timer)
            .setContentTitle("Productivity Timer")
            .setContentText("Your Timer is Running")
            .setPriority(NotificationCompat.PRIORITY_HIGH)
            .setCategory(NotificationCompat.CATEGORY_PROGRESS)
            .setOngoing(true)
            .setContentIntent(res)
            .build();

notificationManager.notify(1,not);

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Я использую это, чтобы возобновить активность

Манифест

<activity
    android:name=".MainActivity"
    android:launchMode="singleTask" />

Также вы можете использовать это, когда вам нужно выдвинуть активность на передний план

private void bringAppFront() {
    try {
        Intent i = new Intent(this, MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(i);
    } catch (Throwable e) {
        e.printStackTrace();
    }
}
0 голосов
/ 01 апреля 2019

Я сделал некоторые изменения в вашем коде.пожалуйста, просмотрите то же самое и дайте мне знать, если вы все еще получаете какой-либо запрос.

 Intent resultIntent = new Intent(getApplicationContext(), MainActivity.class);


PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);


Notification not = new NotificationCompat.Builder(this,CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_timer)
        .setContentTitle("Productivity Timer")
        .setContentText("Your Timer is Running")
        .setPriority(NotificationCompat.PRIORITY_HIGH)
        .setCategory(NotificationCompat.CATEGORY_PROGRESS)
        .setOngoing(true)
        .setContentIntent(pendingIntent)
        .build();
     notificationManager.notify(1,not);

Спасибо.

...