Android OAuth browser Intent перезапускает приложение после перехвата
Я изучаю мобильную разработку Java на Android Studio, и я создаю приложение, требующее проверки подлинности OAuth2. Я сталкиваюсь с проблемой, когда я возвращаюсь к своему приложению, перехватывая обратный вызов, кажется, что мое приложение перезапускается с самого начала после вызова OnResume, повторного вызова onCreate MainActivity и создания цикла.
Я использую Android SDK 22.
Вот мой MainActivity:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent auth = new Intent(this, OAuthActivity.class);
startActivity(auth);
}
}
Моя OAuthActivity:
public class OAuthActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://api.imgur.com/oauth2/authorize?client_id=" + Constants.clientId + "&response_type=token"));
startActivity(browserIntent);
}
@Override
protected void onResume() {
super.onResume();
Uri uri = getIntent().getData();
if (uri != null) {
Constants.login = true;
// stock access_token.
}
}
}
И мой AndroidManifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.something.project">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".OAuthActivity"
android:parentActivityName=".MainActivity">
<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:host="callback"
android:scheme="project"/>
</intent-filter>
</activity>
<activity android:name=".UploadActivity"
android:parentActivityName=".MainActivity">
</activity>
</application>
</manifest>
Спасибо за помощь!