由於需要反覆啟動某隻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
[-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也是用同樣的參數喔~