Every time I do 2-factor authentication on a mobile app, it sends me a message with a security code. I understand this is weak because the SMS system can be hacked to redirect your messages to another number.
So the question is why don't mobile apps require you to send a message to authenticate?