一般的切換到不同 Activity 時,都有兩種情況
- Activity A -> Activity B
- Activity A -> Web Browser -> Activity A
而情況 1 理所當然是比較簡單.只要這樣
1 | Intent i = new Intent(this, ActivityB.class); |
而情況 2 就只需要這樣
注:
- 以下這樣做,當用戶由 Browser 跳至 Activity B 後
- 用戶再按下 Back 時,程式便不會跳回至 Browser 界面
**.例如 OAuth 時便會常常應用
1 | Intent intent = new Intent(Intent.ACTION_VIEW); |
再者當 Intent 的 Action 為 ACTION_VIEW 時,
便會自動處理 Data 中的 Scheme
(如 Url 中的 http 開頭,對應的動作便是打開 Browser)
再者,我們也可以自定自身的 Scheme
方法如下:
- 打開 AndroidManifest.xml
- 找到 Activity B 加入對應的 intent-filter 屬性
1
2<action android:name="android.intent.action.VIEW" />
<data android:scheme="[Scheme 的名稱]" /> - 之後就可以通過 [Scheme 的名稱]://xxxx 來連結程式
- 所以 web browser 就可以通過上方的格式來連結回到程式