В настоящее время я играю с приложением Android (а именно, Telegram) и пробую разные вещи. Одна из вещей, которую я хочу опробовать, - это изменение входящих сообщений приложения, в частности тела (например, если сообщение говорит «привет мир», я хочу изменить его на «123 | привет мир» или что-то в этом роде) .
Мне удалось сделать обратное (изменить исходящее сообщение), добавив « onEditorActionListener » и проверив событие ACTION_DONE. Таким образом, я могу добавить что-то к сообщению перед отправкой (в настоящее время таймер). Теперь я хочу сделать наоборот.
Я попытался изменить уже определенный метод " onMessageReceived " в классе, который расширяет " FirebaseMessagingService ", и добавить код проверить наличие «body» или «text» в « remoteMessage.getData () », но ничего не изменилось. Я также пробовал другие вещи:
- изменить " messageText ", отправленный методу " processNewMessages ";
- изменить тело входящее уведомление путем переопределения « handleIntent »;
- изменить метод « putPushMessage », который добавляет сообщение в базу данных, чтобы добавить то же сообщение, но с другим телом.
Однако ни одно из этих решений не работает точно так, как я хочу, они работают в некоторой степени, но не полностью. Если быть точным, я хочу полностью и определенно изменить любое входящее сообщение, то есть необходимо изменить тело уведомления, а также сообщение в приложении. Я также хочу знать, возможно ли использовать эту работу для всех состояний приложения (передний план, фон, закрыто и во время разговора с человеком, от которого исходит сообщение).
Я хотел бы сделать это в коде, чтобы я мог измерить вещи, что было бы менее точно, если бы я использовал сторонние инструменты, такие как Frida, но если невозможно написать то, что я хочу, написав код, тогда я открыт для других инструментов. Спасибо:)