Я боролся с этим, так как Twitter внес изменения для повышения безопасности. Мое приложение для Android будет использовать URL-адрес обратного вызова и тот же URL-адрес в фильтре намерений. Но после изменения URL-адрес, который я использовал, должен был быть зарегистрирован на портале для разработчиков Twitter. Я использовал ouath: // myapp, но Twitter не принимает это как действительный URL (веб-сайт).
После небольшого копания я обнаружил, что для приложений вы можете указать любую схему, но только как схему. Например, я использовал myapp: // в качестве URL обратного вызова.
В моем приложении URL моего обратного вызова был myapp: // что угодно, а в фильтре Intent я использовал:
<data android:scheme="myapp" android:host="whatever">
Twitter принял URL-адрес обратного вызова и правильно перенаправил обратно в мое приложение после того, как пользователь прошел аутентификацию с помощью своих учетных данных Twitter.
Первоначально я использовал только обычный веб-сайт, и он тоже работал, но после проверки в Твиттере он спросил, хочу ли я перенаправить в Мое приложение или в браузер Chrome. Используя вышеуказанный подход, он просто вернется в ваше приложение.
После всего этого я понял, что мог бы просто добавить Oauth: // в качестве URL-адреса обратного вызова, и мое приложение работало бы без изменений.