0

次のように、ActivityInstrumentationTestCase2からブロードキャストを送信しようとしています。

void myTest(){
    getActivity().getBaseContext().sendBroadcast(
        new Intent("com.my.broadcast.intent"));
    sleep(100000);
}

メソッドは文句なしに実行されます。ただし、レシーバー(inputMethodService)はANR状態になります。レシーバーメソッドは、このアプローチを使用して実行されることはありません。より直接的なアプローチ(アクティビティ内からブロードキャストを送信する)を使用したテストは成功します。

私の質問は、ActivityInstrumentationTestCase2に制限があり、ブロードキャストを送信できなくなるということです。このエラーが発生する理由を誰かが説明できますか?

4

1 に答える 1

0

スリープコールを行わないでください。また、IntentFilterが正しく設定されていることを確認してください。sendBroadcastコードは問題ありません。

于 2012-06-06T13:11:27.447 に答える