1

そのため、認証操作を行うために OAuth プロトコルを使用するソフトウェアがあります。メイン メニューには、アクティビティを開始するボタンがあります。

Intent i = new Intent(this, HattrickOAuth.class);
this.startActivityForResult(i,OAUTH_ID);

HattrickOAuthクラスのonCreate(Bundle savedInstanceState)メソッドでは、ブラウザを起動してユーザーを認証ページにリダイレクトする必要があります。私が使う:

Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl));                    browser.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
browser.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
this.startActivity(browser);

onResume() で承認が完了し、結果を呼び出して返します

setResult(RESULT_OK);
finish();

問題は、これがメニューではなくブラウザに戻っていることです。足りないものはありますか?戻るには、マニフェストで次のスキームを使用します。

<activity
    android:label="@string/oauth_name"
    android:name=".hattrick.HattrickOAuth"
    android:theme="@style/MainStyle" >
    <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="hattrick"
            android:scheme="h4m-app" />
    </intent-filter>
</activity>
4

0 に答える 0