我是使用Robotium framework來測試應用程序的黑盒。 每次安裝新應用程序時,被測應用程序都會在狀態欄中發送通知。 我想點擊該通知,但我仍然沒有找到正確的方法來做到這一點。以編程方式點擊Android通知
當我手動點擊一個通知我得到這個logcat
線:
I/ActivityManager( 148): START {flg=0x14000000 cmp=com.test.package/.activity.FrontActivity bnds=[0,38][240,86] (has extras) u=0} from pid -1
I/ActivityManager( 148): START {flg=0x14000000 cmp=com.test.package/.activity.ResultActivity u=0} from pid 8600
I/ActivityManager( 148): Displayed com.test.package/.activity.FrontActivity: +1s183ms
I/ActivityManager( 148): Displayed com.test.package/.activity.ResultActivity: +744ms
我知道Robotium不能在同一時間測試2個不同的應用程序,以及我知道你不能得到的通知外部應用程序。
我也試圖讓懸而未決的意圖,並通過使用下面的代碼火起來:
Context context = this.getInstrumentation().getTargetContext().getApplicationContext();
String intentClassString = "com.test.package.activity.FrontActivity";
Class<?> intentClass = null;
try {
intentClass = Class.forName(intentClassString);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Intent intent = new Intent(context, intentClass);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_NO_CREATE);
try {
pendingIntent.send();
} catch (CanceledException e) {
e.printStackTrace();
}
活動實際上是顯示,但它是從我通過手動調用它獲得不同的。我認爲在我通過的情況下或者我稱之爲未決意圖的方式有問題。
有關此問題的任何提示?有沒有更好的方法來模擬點擊通知?