Est-il possible d'afficher l'historique des notifications du navigateur Chrome?


57

Je reçois des notifications Chrome de plusieurs sites Web. Elles fonctionnent mĂȘme si aucun onglet n’est ouvert pour ces sites.

Mais parfois, je reçois ces notifications Chrome lorsque je ne suis pas à mon bureau ou que je regarde mon ordinateur portable.

Certaines de ces notifications m’étant utiles, j’aimerais pouvoir accĂ©der Ă  celles que j’ai manquĂ©es.

Existe-t-il un moyen d'afficher l'historique des notifications?


1
Ça ne semble pas comme ça. En examinant cet article ( theverge.com/2015/2015/14/9531133/
 ), ils ont rĂ©organisĂ© leur stratĂ©gie de notification et l'a supprimĂ©e du bureau pour la placer sur des pages Web individuelles. La seule chose Ă  faire pour accĂ©der aux nouvelles notifications est de cliquer sur la cloche sur une page Google.
Terry


Le seul endroit oĂč j'ai trouvĂ© des notifications sous forme de liste est si le site Web qui les dĂ©clenche les a via son site Web. Chrome ne semble pas les rassembler dans quelque chose comme chrome://notificationset ils ne parviennent pas Ă  l'OS.
Jason Lydon

Accepter la réponse valide @paradroid
Satheesh

RĂ©ponses:


31

Si vous avez un Mac, il y a un moyen! 😄

Voici Ă  quoi ressemblerait la liste des notifications:

Voici Ă  quoi ressemblerait la liste des notifications.

Tout ce que vous avez Ă  faire est:

1. En chrome, allez Ă :

chrome://flags/

2. Recherchez:

Enable native notifications. Mac

3. Activez-le, redémarrez chrome, vous avez terminé. Prendre plaisir!

MODIFIER:

  • Vous pourriez ne plus avoir besoin de faire ce qui prĂ©cĂšde.

À partir de Chrome 59, les notifications envoyĂ©es via l'API Notifications ou l'API d'extensions chrome.notifications sont affichĂ©es directement par le systĂšme de notification natif macOS, au lieu du systĂšme propre de Chrome. [ source ]


2
Cela ne répond pas à la question de voir l'historique des notifications, mais seulement de voir les notifications.
Bjorn

6
@BjornTipling Il y répond. Il demande s'il peut voir les notifications qu'il a manquées pendant son absence et ma méthode fait exactement cela.
Esdras Lopez

1
Si vous mettez les liens en tant que commentaires, je les ajouterai Ă  votre message, @EsdrasLopez
user418150 le

1
@ user418150 J'apprécie cela, mais j'ai maintenant la réputation. :) Vérifiez les modifications.
Esdras Lopez

2
Le principal problĂšme ici est qu’il ne stocke la notification que si vous ne cliquez pas dessus. Plusieurs fois, j'ai cliquĂ© sur un titre d'article intĂ©ressant, mais son chargement a Ă©chouĂ©. Il a toutefois Ă©tĂ© supprimĂ© de la liste des notifications. Habituellement, les articles sont trop rĂ©cents pour ĂȘtre sur Google et souvent, le titre de la notification ne correspond pas au titre de l'article, de sorte qu'il se perd dans les entrailles du Web.
iBorg

13

Sur MacOSX, le répertoire Chrome sera situé dans Library / Application Support. Ouvrez l'application Terminal et exécutez les commandes suivantes:

cd ~/Library/Application\ Support/Google/Chrome/Default/Platform\ Notifications/
ls -la

Maintenant, vous verrez des fichiers comme celui-ci:

drwx------@  7 visi  staff   224 Jul 13 18:16 .
drwx------  75 visi  staff  2400 Jul 15 11:05 ..
-rw-------@  1 visi  staff   759 Jul 15 10:57 000003.log
-rw-------@  1 visi  staff    16 Jul 13 18:16 CURRENT
-rw-------@  1 visi  staff     0 Jul 13 18:16 LOCK
-rw-------@  1 visi  staff   147 Jul 13 18:16 LOG
-rw-------@  1 visi  staff    41 Jul 13 18:16 MANIFEST-000001

Vous pouvez voir que le plus récent est 000003.log, vérifiez-le avec la commande suivante:

tail -n 100 000003.log

Et vous verrez les 100 derniers éléments de ce journal. Ensuite, vous pouvez ouvrir les paramÚtres de chrome et désactiver cette notification.

Notez que si vous avez plusieurs profils en chrome, votre chemin peut ĂȘtre diffĂ©rent, comme ceci (Profile1 au lieu de Default):

cd ~/Library/Application\ Support/Google/Chrome/Profile\ 1/Platform\ Notifications/

3
Cela devrait ĂȘtre la rĂ©ponse acceptĂ©e. :)
Cody A. Ray Le

1
Je travaille toujours en 2019 (bien que le journal nécessite un peu d'interprétation). Grande réponse merci
Carpii

12

Si vous allez à %LocalAppData%\Google\Chrome\User Data\Default\Platform Notifications, il y a un fichier journal des notifications passées.


4
Bien, mais envisagez de spécifier le chemin comme "% LocalAppData% \ Google \ Chrome \ Données utilisateur \ Default \ Platform Notifications" au lieu de code fixe. Cela fonctionne parfaitement sur n'importe quel PC.
Dmitry Gusarov

Dans le dossier UserData /, vous devrez peut-ĂȘtre d'abord localiser votre dossier de profil, par exemple, "C: \ Utilisateurs \ nom d'utilisateur \ AppData \ Local \ Google \ Chrome \ UserData \ Profil 1 \ Notifications de plate-forme"
Maffelu

1
Ces données sont binaires. Comment le lire?
Gaia

Sur Chrome 71, et le fichier journal est vide. Cela at-il été désactivé à un moment donné?
James

3
@ Gaia Je me demandais la mĂȘme chose et je venais de fouiller du code Java pourri qui fait un travail acceptable pour dĂ©chiffrer la majeure partie de celui-ci. Je l'ai postĂ© ci-dessous: superuser.com/a/1410742/778383
Dreamspace President

3

Comme il me semble impossible d’obtenir directement un enregistrement des notifications, si j’avais le mĂȘme problĂšme, je tricherais en utilisant un Ă©mulateur de tĂ©lĂ©phone Android, ou un tĂ©lĂ©phone, comme l’utilisateur qui a recommandĂ© Pushbullet. Mais il n’ya pas que Pushbullet, il existe de nombreuses autres applications, nous pourrions discuter des astuces Android pour Ă©couter et enregistrer les notifications, dans un fil sĂ©parĂ©.

Si vous ĂȘtes programmeur, vous pourriez peut-ĂȘtre rĂ©soudre votre problĂšme avec une extension faite maison:

https://stackoverflow.com/questions/15949606/how-can-i-listen-to-notifications

"Vous pouvez accrocher la fonction webkitNotifications.createNotification afin que, chaque fois qu'une notification est créée, vous exécutiez un code particulier."


2

Toucher quelque chose qui a été mentionné un peu plus haut mais avec une torsion qui assure que vous ne manquez pas la notification sur OSX:

  1. Sur le cÎté droit de la barre supérieure principale, cliquez sur l'icÎne de notification.

  2. Cliquez sur la roue dentée (en bas à droite de l'écran de notification).

  3. Sélectionnez Chrome pour définir le mode d'affichage des notifications.

  4. Par défaut, les "banniÚres" sont sélectionnées et peuvent disparaßtre automatiquement. Au lieu de cela, sélectionnez le type "Alert" et ils y resteront tant que vous ne les reconnaßtrez pas!

Je vous en prie :)


2

Vous pouvez voir l'historique des notifications push. En bas à droite de l'écran de votre ordinateur, dans la barre des tùches, se trouve une bulle de dialogue. Si vous la survolez, vous verrez qu'elle s'appelle "notifications". Si vous cliquez sur cette bulle, vos courriels non lus / nouveaux et toutes les notifications push que vous n'avez pas rejetées s'afficheront. Je suis venu ici à la recherche de cette réponse et je ne l'ai pas trouvée mais j'ai ensuite réussi à trouver une solution. J'utilise Windows 10.


Oui, c'est une chose récente sur Win10, mais c'est la réponse éventuelle pour Windows.
paradro

-1

On dirait que Pushbullet peut résoudre votre problÚme. Ils affirment que vous pouvez voir vos notifications manquées à l'aide de leur extension Chrome.

https://blog.pushbullet.com/2014/10/23/easily-access-your-recent-notifications-in-chrome/


Veuillez lire Comment recommander un logiciel pour obtenir les informations minimales requises et des suggestions sur la façon de recommander un logiciel sur Super User. Pour que votre rĂ©ponse reste utile, mĂȘme si le ou les liens fournis sont rompus, ces dĂ©tails doivent ĂȘtre modifiĂ©s dans votre rĂ©ponse.
Je dis: réintégrez Monica le

Hé bien. Je vais essayer ça. En fait, j'utilise déjà Pushbullet, mais je ne connaissais pas cette extension Chrome.
Paradroid

Impossible de trouver cette fonctionnalité. Une notification est apparue et il n'y a aucune trace de celle-ci dans l'historique de la notification.
madprops

J'ai repensĂ© la question et le problĂšme est le suivant. Si votre tĂ©lĂ©phone reçoit une notification, pushbullet l'enverra sur votre bureau et vous indiquera que vous avez Ă©ventuellement des notifications non lues (vous l'avez peut-ĂȘtre dĂ©jĂ  vue sur votre tĂ©lĂ©phone ou ailleurs). Pour quels sites recevez-vous des notifications Chrome? S'il existe une application, vous pouvez toujours l'installer et vous recevrez alors les notifications de pushbullet sur votre ordinateur de bureau / ordinateur portable / ce que vous voulez.
Socialorganix Contentbrandmgmt

1
La fonctionnalitĂ© "Notifications" de Pushbullet sert uniquement Ă  afficher les notifications de votre tĂ©lĂ©phone Android sur le bureau, et la mĂȘme chose avec iPhone si vous avez un bureau Mac. Cela n'a rien Ă  voir avec les notifications Chrome.
Boaz

-1

GrĂące Ă  la rĂ©ponse de Corey ci-dessus et Ă  un samedi paresseux avec trop de temps, je peux maintenant voir une liste des derniĂšres notifications Chrome dans la console de mon IDE, oĂč je peux mĂȘme cliquer sur les URL.

Le code est merdique et utilise des méthodes heuristiques brutes car je n'ai aucune idée de la maniÚre correcte d'interpréter les données binaires.

Mais c'est une tonne mieux que rien. Exemple de sortie (extrait):

https://www.finanzen.net/nachricht/aktien/kw-9-tops-und-flops-der-tecdax-aktien-in-der-vergangenen-woche-7195100
https://images.finanzen.net/mediacenter/unsortiert/TecDAX_boerse_frankfurt0016_kl.jpg
So bewegten sich die Einzelwerte des TecDAX in der zurĂƒÂŒckliegenden Handelswoche.*
KW 9: Tops und Flops der TecDAX-Aktien in der vergangenen Woche
So bewegten sich die Einzelwerte des TecDAX in der zurĂŒckliegenden Handelswoche.
HideOnTheseRoutes
Home/Index;Article/News/Index
tag-7195100
NotificationIdentifier
1061622960{


https://www.youtube.com/watch?v=W-mlD_bYKdU&feature=push-u-sub&attr_tag=0SL8UpnrTOnTECxr%3A6
https://lh5.googleusercontent.com/-raJM5SITO34/AAAAAAAAAAI/AAAAAAAAAAA/UtLljlL4Wpc/s96-c-mo/photo.jpg
New from Market Moves
Trade Recap: $1,500 in PROFITS*˜
COuAyJGY4uACEAY=
attributionTag
0SL8UpnrTOnTECxr:6{
 from Market MovesTrade Recap: $1,500 in PROFITS

Code Java digne de la crucifixion:

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;




/**
 * v[1, 2019-03-02 13:00 UTC]
 *
 * by dreamspace-president.com
 */
final public class CrappyChromeNotificationHistoryReader {


    public static void main(final String[] args) {

        final File file = new File(
                "C:\\Users\\[YOUR_NAME_HERE]\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Platform Notifications\\000003.log");

        final List<ChromeNotificationStuff> notifications = obtainChromeNotificationStuff(file);
        for (ChromeNotificationStuff notification : notifications) {
            System.err.println();
            System.err.println(notification);
        }
        System.exit(0);
    }


    public static List<ChromeNotificationStuff> obtainChromeNotificationStuff(final File file) {

        final List<ChromeNotificationStuff> ret = new ArrayList<>();

        final List<DumbTokenList> listOfDumbTokenLists = doTheInsaneParsingThing(file);
        int instanceCounter = 0;
        for (DumbTokenList dtl : listOfDumbTokenLists) {

            final List<String> urls = new ArrayList<>();
            final List<String> texts = new ArrayList<>();

            for (String token : dtl.tokens) {
                if (token.startsWith("https://") || token.startsWith("http://")) {
                    urls.add(token);
                } else {
                    texts.add(token);
                }
            }


            // Remove unimportant URLs.
            for (int i = urls.size() - 1; i > 0; i--) {
                final String urlThis = urls.get(i);
                final int lenThis = urlThis.length();
                for (int ii = i - 1; ii >= 0; ii--) {
                    final String urlThat = urls.get(ii);
                    final int lenThat = urlThat.length();

                    if (lenThis > lenThat) {
                        if (urlThis.startsWith(urlThat)) {
                            final String removed = urls.remove(ii);
                            //                            System.err.println("\nREMOVED: " + removed + "\nKEPT   : " + urlThis); // because was better or equal
                            break;
                        }
                    } else {
                        if (urlThat.startsWith(urlThis)) {
                            final String removed = urls.remove(i);
                            //                            System.err.println("\nREMOVED: " + removed + "\nKEPT   : " + urlThat); // because was better or equal
                            break;
                        }
                    }

                }
            }

            ret.add(new ChromeNotificationStuff(instanceCounter, urls, texts));
            instanceCounter++;
        }

        ret.sort(null);

        return ret;
    }


    final public static class ChromeNotificationStuff implements Comparable<ChromeNotificationStuff> {


        private final int instanceCounter;
        final public List<String> urls;
        final public List<String> texts;


        private ChromeNotificationStuff(final int instanceCounter,
                                        final List<String> urls,
                                        final List<String> texts) {

            this.instanceCounter = instanceCounter;

            this.urls = Collections.unmodifiableList(urls);
            this.texts = Collections.unmodifiableList(texts);
        }


        public String toString() {

            final StringBuilder sb = new StringBuilder();
            for (String url : urls) {
                sb.append(url).append('\n');
            }
            for (String text : texts) {
                sb.append(text).append('\n');
            }
            return sb.toString();
        }


        @Override
        public int compareTo(final ChromeNotificationStuff o) { // Newest (= last) notifications first, please.

            return Integer.compare(o.instanceCounter, instanceCounter);
        }
    }




    final private static double MIN_LENGTH_DIFFERENCE_RATIO = 0.7;//0.9;
    final private static double MIN_REMAININGLINES_PERCENTAGEOF_ALLLINES = 0.2;




    final private static class DumbTokenList {


        final private static int MIN_LENGTH = 10; //6;
        final private static String[] EXTENSIONS = new String[] { ".jpg", ".jpeg", ".png", ".gif", ".html", ".htm", ".php" };
        final private static int MAX_EXTRA_CRAP_AFTER_EXTENSIONS = 3;
        final private static String SAFE_URL_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;="; // https://stackoverflow.com/a/1547940/3500521

        final private String originalText;
        final private List<String> tokens;


        private DumbTokenList(final String textWithBinaryCrap) {

            originalText = textWithBinaryCrap;

            final List<String> tokens = new ArrayList<>();

            final Consumer<String> addTokenButTryToDecrappifyExtensionsFirstAnTing = token -> {


                if (token.startsWith("ttps://") || token.startsWith("ttp://")) {
                    token = "h" + token;
                }


                final List<String> newTokens = new ArrayList<>();

                if (token.startsWith("http")) {
                    final int tokenLength = token.length();
                    boolean found = false;
                    for (int i = 0; i < tokenLength; i++) {
                        final char c = token.charAt(i);
                        if (SAFE_URL_CHARACTERS.indexOf(c) < 0) {
                            newTokens.add(token.substring(0, i));
                            newTokens.add(token.substring(i));
                            found = true;
                            break;
                        }
                    }
                    if (!found) {
                        newTokens.add(token);
                    }
                } else {
                    newTokens.add(token);
                }

                for (String newToken : newTokens) {


                    String foundExt = null;
                    int foundExtLen = 0;
                    int foundExtAt = -1;
                    for (String extension : EXTENSIONS) {
                        final int idx = newToken.indexOf(extension);
                        if (idx >= 0) {
                            final int extLen = extension.length();
                            if (idx > foundExtAt || (idx == foundExtAt && extLen > foundExtLen)) {
                                foundExt = extension;
                                foundExtLen = extLen;
                                foundExtAt = idx;
                            }
                        }
                    }
                    if (foundExt != null) {
                        final int amountOfCharactersAfterThisFind = newToken.length() - foundExtAt - foundExtLen;
                        if (amountOfCharactersAfterThisFind <= MAX_EXTRA_CRAP_AFTER_EXTENSIONS) {
                            // OK. Shorten this bitch.
                            newToken = newToken.substring(0, foundExtAt + foundExtLen);
                        }
                    }


                    if (newToken.startsWith("http")) {
                        if (!newToken.startsWith("http://") && !newToken.startsWith("https://")) {
                            continue;
                        }
                    }


                    if (newToken.startsWith("/watch?v=")) {
                        newToken = "https://www.youtube.com" + newToken;
                    }


                    if (newToken.length() >= MIN_LENGTH) {
                        tokens.add(newToken);
                    }


                }

            };

            final StringBuilder sb = new StringBuilder();

            final int len = textWithBinaryCrap.length();
            for (int i = 0; i <= len + 1; i++) {

                final char c = i < len ? textWithBinaryCrap.charAt(i) : 0;

                if (c < ' ' || c == '"') {

                    String potentialText = sb.toString();
                    while (true) {
                        final int httpIDX = potentialText.indexOf("http", 1);
                        if (httpIDX < 0) {
                            addTokenButTryToDecrappifyExtensionsFirstAnTing.accept(potentialText);
                            break;
                        } else {
                            final String snippet = potentialText.substring(0, httpIDX);
                            potentialText = potentialText.substring(httpIDX);
                            addTokenButTryToDecrappifyExtensionsFirstAnTing.accept(snippet);
                        }
                    }

                    sb.setLength(0);

                    if (c == '"') {
                        // Skip this and the next. (thus "i < len +1")
                        i++;
                    }
                } else {
                    sb.append(c);
                }
            }


            // Remove quasi-duplicates. Sue me.
            //            System.err.println("\n*** STARTING DEDUPLICATION ***");
            final int lSize = tokens.size();
            for (int i = lSize - 1; i > 0; i--) { // (not 0 itself, wouldn't make sense)

                if (i < tokens.size()) {

                    final String entry = tokens.get(i);

                    for (int ii = i - 1; ii >= 0; ii--) { // (incl. 0)

                        final String otherEntry = tokens.get(ii);

                        final Boolean removeNoneOrFirstOrSecond = areLinesTooSimilar(entry, otherEntry);
                        if (removeNoneOrFirstOrSecond != null) {

                            if (!removeNoneOrFirstOrSecond) {
                                final String removed = tokens.remove(i);
                                //                                System.err.println("\nREMOVED: " + removed + "\nKEPT   : " + otherEntry); // because was better or equal
                            } else {
                                final String removed = tokens.remove(ii);
                                //                                System.err.println("\nREMOVED: " + removed + "\nKEPT   : " + entry); // because was better or equal
                            }
                            break; // IMPORTANT!
                        }

                    }
                }
            }


            this.tokens = Collections.unmodifiableList(tokens);

        }


        public String toString() {

            final StringBuilder sb = new StringBuilder();
            for (String token : tokens) {
                sb.append(token).append('\n');
            }
            return sb.toString();
        }


    }


    /**
     * Do NOT call with NULL/EMPTY arguments.
     *
     * @return NULL if not too similar. False if the FIRST seems superfluous. True if the SECOND seems superfluous.
     */
    private static Boolean areLinesTooSimilar(final String line1,
                                              final String line2) {

        final int l1 = line1.length();
        final int l2 = line2.length();

        final double lenDiffRatio = Math.min(l1, l2) / (double) Math.max(l1, l2); // Results in 1 or less.

        if (lenDiffRatio >= MIN_LENGTH_DIFFERENCE_RATIO) {

            if (l2 < l1) {
                // Compare the other way round.
                if (line1.contains(line2)) {
                    return false;
                }
            } else {
                if (line2.contains(line1)) {
                    return true;
                }
            }

        }

        return null;
    }


    private static List<DumbTokenList> doTheInsaneParsingThing(final File file) {

        final List<DumbTokenList> ret = new ArrayList<>();

        final StringBuilder sb = new StringBuilder();
        try (final InputStream is = new BufferedInputStream(new FileInputStream(file))) {

            final int bufMinus1 = 4;
            final Charset charset = Charset.forName("Cp1252"); // =ansi

            final int[] buf = new int[bufMinus1 + 1]; // "DATA"
            //            while ((buf[buf.length - 1] = is.read()) >= 0) {
            while (true) {

                buf[bufMinus1] = is.read();

                if (buf[bufMinus1] < 0 || (
                        buf[0] == 'D' &&
                                buf[1] == 'A' &&
                                buf[2] == 'T' &&
                                buf[3] == 'A' &&
                                buf[4] == ':')) {

                    if (sb.length() > 0) {
                        ret.add(new DumbTokenList(sb.toString()));
                        sb.setLength(0);
                    }

                    if (buf[bufMinus1] < 0) {
                        break;
                    }

                } else {

                    sb.append(new String(new byte[] { (byte) buf[bufMinus1] }, charset));
                    //                    sb.append((char) buf[bufMinus1]);
                }


                // Shift minibuffer to front.
                for (int i = 0; i < bufMinus1; i++) {
                    buf[i] = buf[i + 1];
                }
            }


        } catch (IOException e) {
            e.printStackTrace();
        }


        // DEDUPLICATE DTLs
        for (int i = ret.size() - 1; i > 0; i--) {

            if (i < ret.size()) {
                final DumbTokenList dtlThis = ret.get(i);
                final int dtlThisTokenCount = dtlThis.tokens.size();

                for (int ii = i - 1; ii >= 0; ii--) {
                    final DumbTokenList dtlThat = ret.get(ii);
                    final int dtlThatTokenCount = dtlThat.tokens.size();


                    int scoreViaRemainingLines_this = dtlThisTokenCount;
                    int scoreViaRemainingLines_that = dtlThatTokenCount;


                    for (int o = 0; o < dtlThisTokenCount; o++) {
                        final String tokenThis = dtlThis.tokens.get(o);
                        for (int oo = 0; oo < dtlThatTokenCount; oo++) {
                            final String tokenThat = dtlThat.tokens.get(oo);

                            final Boolean tooSimilar = areLinesTooSimilar(tokenThis, tokenThat);
                            if (tooSimilar != null) {
                                scoreViaRemainingLines_this--;
                                scoreViaRemainingLines_that--;
                                break;
                            }

                        }
                    }

                    if (scoreViaRemainingLines_this < 0 || scoreViaRemainingLines_that < 0) {
                        throw new Error();
                    }

                    final double scoreActual_this = scoreViaRemainingLines_this / (double) dtlThisTokenCount;
                    final double scoreActual_that = scoreViaRemainingLines_that / (double) dtlThatTokenCount;


                    if (scoreViaRemainingLines_this < scoreViaRemainingLines_that) {
                        if (scoreActual_this < MIN_REMAININGLINES_PERCENTAGEOF_ALLLINES) {
                            final DumbTokenList removed = ret.remove(i);
                            //                            System.err.println("\nREMOVED:\n" + removed + "\nKEPT   :\n" + dtlThat);
                            break; // IMPORTANT.
                        }
                    } else {
                        if (scoreActual_that < MIN_REMAININGLINES_PERCENTAGEOF_ALLLINES) {
                            final DumbTokenList removed = ret.remove(ii);
                            //                            System.err.println("\nREMOVED:\n" + removed + "\nKEPT   :\n" + dtlThis);
                            break; // IMPORTANT.
                        }
                    }


                }

            }
        }

        return ret;
    }


}

1
Pour que cela fonctionne, j'ai utilisé les commandes suivantes, javac "C:\Users\MLM\Downloads\CrappyChromeNotificationHistoryReader.java"(pour compiler), java -cp C:\Users\MLM\Downloads CrappyChromeNotificationHistoryReader(pour s'exécuter) Le script échouant sur if (scoreViaRemainingLines_this < 0 || scoreViaRemainingLines_that < 0) {, j'ai commenté toute l'analyse doTheInsaneParsingThinget juste imprimé tout System.out.println(sb.toString());lorsque le jeton est ajouté à la liste. Il semble que "Notifications de plate-forme" ne gÚre que les notifications push du serveur.
MLM

@MLM: Merci pour l'info javac. En ce qui concerne le problùme: fonctionne pour moi si je colle le code source dans un projet Java 8 IntelliJ ouvert, saisissez mon nom d’utilisateur (variable "fichier"), puis lancez le code.
Dreamspace President
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.