そのため、認証操作を行うために 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>