由於需要反覆啟動某隻app做一些事情後再關閉,如果用程式來啟動寫法如下,但這樣就會是建構在自己寫的app之上
[java]
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(“http://www.xxxx.com/watch/81721411”));
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
intent.setPackage(“com.xxxx.yyyy”);
startActivity(intent);
[/java]

若要改成adb shell的方式則可透過如下方式做轉換
[c]
[-a ]
[-d ]
[-t ]
[-c [-c ] …]
[-e|–es …]
[–ez …]
[-e|–ei …]
[-n ]
[-f ] []
[/c]
因此上述程式就可以轉換成
[c]am start -a android.intent.action.VIEW -d “http://www.xxxx.com/watch/81721411” -f 0x00000020 -n com.xxxx.yyyy/.MainActivity[/c]
其中-f 0x00000020是根據FLAG_INCLUDE_STOPPED_PACKAGES在Android developer的16進制值。
而除了startActivity,adb shell am broadcast也是用同樣的參數喔~

Leave a comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *