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>

Спасибо за помощь!

0 ответов

Другие вопросы по тегам