2012-01-27 17 views

回答

2

創建一個廣播接收器並在接收器中寫入以下內容onReceive()方法 該接收器返回您的呼叫的最後一個記錄,但會延遲一段時間,因此它可以返回當前記錄。

Cursor c=context.getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI,null, null, null,android.provider.CallLog.Calls.DATE + " DESC"); 
    int numberColumn = c.getColumnIndex(android.provider.CallLog.Calls.NUMBER); 
    int dateColumn = c.getColumnIndex(
    android.provider.CallLog.Calls.DATE); 

    // type can be: Incoming, Outgoing or Missed 
    int typeColumn = c.getColumnIndex(android.provider.CallLog.Calls.TYPE); 
    int DurationColumn = c.getColumnIndex(android.provider.CallLog.Calls.DURATION); 

寫下面你mainfest file

<receiver android:name="Your Receiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.PHONE_STATE" /> 
      </intent-filter> 
</receiver> 

在onRecieve把這個

Bundle bundle = intent.getExtras(); 
      Set<String> keys = bundle.keySet(); 
      for (String key : keys) { 
       Log.i("MYAPP##", key + "="+ bundle.getString(key)); 
       if(bundle.getString(key).equals("IDLE")) 
       { 
} 

} 
+0

如何捕捉到事件時調用時,當通話將被斷開? – 2012-01-27 08:41:00

相關問題