При первой публикации вопроса, и я извиняюсь, есть масса вопросов по этому вопросу, но после попытки многих вариантов я не могу заставить это работать.
У меня есть приложение для Twitter, котороеНа главном экране есть кнопка, которая запрашивает oauth доступ к Твиттеру через стандартное приложение браузера, а затем возвращает на главный экран.Если я нажму кнопку «Назад», откроется браузерное приложение с сайтом Twitter.Я пробовал noHistory в файле манифеста, и при запуске намерения FLAG_ACTIVITY_NO_HISTORY, а также FLAG_ACTIVITY_CLEAR_TOP и Intent.FLAG_ACTIVITY_SINGLE_TOP во многих сценариях безуспешно.
Вот мой последний код:
file
<activity android:name=".oauth"
android:label="@string/oauth_name"
android:noHistory="true"
>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tm" android:host="twitt" />
</intent-filter>
</activity>
<activity android:name="com.tweetymanagerpro.Home"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustPan">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
В домашнем задании я вызываю oauth следующим образом:
Intent settingsActivity = new Intent(getBaseContext(), oauth.class);
settingsActivity.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(settingsActivity);
Затем, в oauth.onCreate (), я вызываю твиттер-URL
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl));
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
this.startActivity(intent);
Далее, в oauth.onResume () я обрабатываю токены и т. Д., А затем снова запускаю Домой
Intent i = new Intent(this, Home.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(i);
Соединение с твиттером работает отлично, просто сейчас дома, если я нажимаю кнопку "Назад", требуетсяя вернулся в браузер, где он аутентифицируется с помощью твиттера.