2
有沒有可能獲得與特定聯繫人相關的Android的統計信息:通話,短信和聊天?這個統計存儲在某個地方嗎?如果沒有,有什麼方法可以使用Android SDK獲取和存儲統計信息?使用Android NDK? Android系統允許以某種方式掛鉤SMS和聊天事件嗎?Android來電統計
有沒有可能獲得與特定聯繫人相關的Android的統計信息:通話,短信和聊天?這個統計存儲在某個地方嗎?如果沒有,有什麼方法可以使用Android SDK獲取和存儲統計信息?使用Android NDK? Android系統允許以某種方式掛鉤SMS和聊天事件嗎?Android來電統計
1. 對於傳入和傳出呼叫,您可以通過BroadCastReceivers手動收集它。
清單:
<receiver android:name="IncomingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
<receiver android:name="OutgoingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
BroacastReceivers:
public class IncomingCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if(extras == null)
return;
String callState = extras.getString(TelephonyManager.EXTRA_STATE);
// ringing state
if(callState.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING)){
String incomingNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
Toast.makeText(context,"Incoming number: " + incomingNumber,Toast.LENGTH_LONG).show();
}
}
}
public class OutgoingCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if(extras == null)
return;
// caller
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
// Toast megjelenitese
Toast.makeText(context,"Outgoing number: "+phoneNumber, Toast.LENGTH_LONG).show();
}
}
2. 您還可以創建一個光標通話記錄後,你可以在這個遊標循環。
String[] strFields = { android.provider.CallLog.Calls._ID,
android.provider.CallLog.Calls.NUMBER,
android.provider.CallLog.Calls.CACHED_NAME};
String strOrder = android.provider.CallLog.Calls.DATE + " DESC";
final Cursor cursorCall = getContentResolver().query(
android.provider.CallLog.Calls.CONTENT_URI, strFields,
null, null, strOrder);
3. 對於短信,你還可以創建BroadcastReceivers,或者你也可以創建一個ContentObserver具體內容。也許聊天被保存到一個地方,你可以用ContentObserver掛鉤。
您將如何訪問聯繫人的聊天數據?使用聯繫人的gmail ID?對於短信和通話記錄,你可以參考這個[callmeter](https://github.com/felixb/callmeter)庫。 – Supreethks
我現在不訪問聊天數據。我該怎麼做?目前,我只有通訊錄數據庫中的聊天ID。 – Catherine
對於特定的聯繫人,您需要在內容解析程序中爲文本和呼叫啓動查詢。 – Jambaaz