2012-05-28 10 views
5

私は、ボタンのクリックで発信呼び出しが開始されるかどうかをテストするための簡単なテストケースを持っています。Instrumentation.ActivityMonitor not monitoring Intent.ACTION_CALL

public void testCalling(){ 
    IntentFilter callFilter = new IntentFilter(); 
    callFilter.addAction(Intent.ACTION_CALL); 
    callFilter.addCategory(Intent.CATEGORY_DEFAULT); 
    callFilter.addDataScheme("tel:"); 
    ActivityMonitor mMonitor = new ActivityMonitor(callFilter, null, false); 
    getInstrumentation().addMonitor(mMonitor); 

    mSolo.clickOnText("CALL"); 

    assertTrue(0 < mMonitor.getHits()); 
    sendKeys(KeyEvent.KEYCODE_ENDCALL); 
} 

インテントが呼び出されても(発信が行われても)、私のActivityMonitorは登録に失敗します。 スタックトレースが

05-28 17:11:09.183: I/ActivityManager(71): Starting activity: Intent { act=android.intent.action.CALL dat=tel:+xxxxxxx cmp=com.android.phone/.OutgoingCallBroadcaster } 

グループ

答えて

1

同じ問題を持つと少し周りプレイした後、私は見つけることができる

唯一の他のリソースは、Androidの開発者にthis discussion which ended without any solutionた助けてくださいですが、私はそれを得ました働く

"tel"からコロンを削除します。その後、あなたのモニターにヒットしているはずです。

public void testMakeCall(){ 
     IntentFilter filter = new IntentFilter(Intent.ACTION_CALL); 
     filter.addCategory(Intent.CATEGORY_DEFAULT); 
     filter.addDataScheme("tel"); 

     ActivityMonitor activityMonitor = getInstrumentation().addMonitor(filter, null, false); 

     makeCall(); 

     assertTrue(activityMonitor.getHits() == 1); 
    } 
+2

いいえ、それはまだ私のために働いていません。 – vKashyap

3

私は同じ問題があると思いました。後で、私は自分の活動モニタが動作しないことを知った

関連する問題