2013年8月6日 星期二

Android 開發筆記 - 取得目前 Activity 資訊以及啓動特定 Activity 方法

最近在開發程式時,想要啓動特定 Activity 出來,這部分倒還滿容易找到資訊,順手筆記一下:

Command 用法:

$ am start -n com.google.android.browser/com.android.browser.BrowserActivity

程式碼呼叫:

Intent res = new Intent();
res.setComponent(new ComponentName("com.google.android.browser", "com.android.browser.BrowserActivity"));
this.startActivity(res);


提醒一下,並非所有 Activity 都可以被呼叫(沒有提供被呼叫的功能或其它問題),若用上述方式強制開啓會收到 java.lang.SecurityException: Permission Denial: starting Intent ... 等訊息。

此外,既然有想要開啓特定 Activity 的話,就會有得知目前 Activity 需求 :P 一樣用 adb shell 處理:

$ adb shell dumpsys window windows  | grep "mCurrentFocus\|mFocusedApp"
  mCurrentFocus=Window{### com.android.launcher/com.android.launcher2.Launcher paused=false}
  mFocusedApp=AppWindowToken{### token=Token{### ActivityRecord{### com.android.launcher/com.android.launcher2.Launcher}}}

沒有留言:

張貼留言