CallLog.Calls getLastOutgoingCall()


API 8 から CallLog.Calls.getLastOutgoingCall() というメソッドが公開されています。
一番最後に電話した先(発信)の電話番号を取得するものです。
ソースを見ると、ContentResolver から取得しています。

通話記録の一覧を取得するメソッドがあってもいいと思うが、見当たりませんね。
CallLog.Calls の中には addCall() や removeExpiredEntries() もありますが、これらは非公開です。

public static String getLastOutgoingCall(Context context) {
final ContentResolver resolver = context.getContentResolver();
Cursor c = null;
try {
	c = resolver.query(
		CONTENT_URI,
		new String[] {NUMBER},
		TYPE + " = " + OUTGOING_TYPE,
		null,
		DEFAULT_SORT_ORDER + " LIMIT 1");
	if (c == null || !c.moveToFirst()) {
		return "";
	}
	return c.getString(0);
} finally {
	if (c != null) c.close();
}
}

参考
Android Developers: CallLog.Calls


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です