0

有兩個應用程序在後臺運行並使用廣播意圖相互通信。現在,我需要創建一些儀器測試來涵蓋設備上的通信功能。Hot從儀表測試發送廣播意圖

在測試中我所需要的,例如,發送特定廣播意圖和檢查廣播接收器得到的(比較發送一個廣播接收器有意向型等)

的問題是,當我嘗試發送廣播寄存器廣播接收機等在@Test,我得到:

無法解析法 'registerReceiver(COM ... MyBroadcastReceiver,com.content.IntentFilter)'

無法解析法 'sendBroadcast(com.content.Intent)'

...

我應該怎麼做才能夠在儀器測試使用這樣的功能?測試類是否應該從某些特定的類繼承?

在此先感謝!

回答

1

registerReceiver()sendBroadcast()都是Context的方法,所以您需要一個Context實例來調用它們。

請看InstrumentationRegistry這個類。

使用其靜態getTargetContext()方法來獲取Context的位置(因此您可以在該實例中調用接收器方法)。

例如:

InstrumentationRegistry.getTargetContext().sendBroadcast(someIntent);