使用android sdk检索呼叫日志

时间:2012-08-11 02:18:20

标签: java android

我想知道应用程序是否有办法查看通话记录并将其保存为文件或其他内容。

2 个答案:

答案 0 :(得分:1)

您是否尝试过CallLog提供商? 这可以为您提供所需的信息。

答案 1 :(得分:1)

如果授予权限,Android应用程序可以访问通话记录。可以像访问其他数据存储一样访问呼叫日志。

import android.app.Activity;
import android.os.Bundle;
import android.provider.CallLog;
import android.provider.CallLog.Calls;
import android.widget.TextView;
import android.database.Cursor;

public class TestingData extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TextView view = (TextView) findViewById(R.id.hello);
    String[] projection = new String[] {
            Calls.DATE
            , Calls.NUMBER
            , Calls.DURATION
    };
   Cursor mCur = managedQuery(CallLog.Calls.CONTENT_URI,
            projection, Calls.DURATION +"<?", 
                    new String[] {"60"},
                    Calls.DURATION + " ASC");
    mCur.moveToFirst();

    while (mCur.isAfterLast() == false) {
          for (int i=0; i<mCur.getColumnCount(); i++) {
              view.append("n" + mCur.getString(i));
          }
          mCur.moveToNext();
    }

}
}