Dificuldade em usar a CallLog.Calls

Boa tarde, sou novo no desenvolvimento Android e para começar estou fazendo um programa que busca as ligações do celular, porém estou com dificuldade para utilizar o objeto CallLog.Calls.

tenho duas classes que utilizei o objeto, na primeira eu faço a leitura direta dos itens e imprimo na lista, porém só são apresentados os valores default de cada propriedade (código abaixo da minha classe)

public class RecebidasActivity extends Activity {
	public  void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		ListView list = new ListView(this);//(ListView)findViewById(R.id.countries);
		ArrayAdapter<String>adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,STR_FIELDS);
		list.setAdapter(adapter);
		
		setContentView(list);
		
	}

	public static final String[] STR_FIELDS = {
        android.provider.CallLog.Calls.NUMBER, 
        android.provider.CallLog.Calls.TYPE,
        android.provider.CallLog.Calls.CACHED_NAME,
        android.provider.CallLog.Calls.CACHED_NUMBER_TYPE,
        android.provider.CallLog.Calls.DATE,
        android.provider.CallLog.Calls.DURATION, 
        android.provider.CallLog.Calls.CACHED_NUMBER_LABEL,
        android.provider.CallLog.Calls.NUMBER
        };
}

Na segunda classe, após muita pesquisa na net, achei a utilização de cursor para poder exibir as informações, porém desta forma o app da o erro:
“04-06 19:08:54.781: E/dalvikvm(222): Unable to open stack trace file ‘/data/anr/traces.txt’: Permission denied”

Segue a classe (neste caso eu estou tentando apresentar pelo menos uma informação para poder entender o tratamento das demais)

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

public class PerdidasActivity extends Activity {
	public  void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
					
		Uri allCalls = Uri.parse("content://call_log/calls");
		 Cursor c = managedQuery(allCalls, null, null, null, null);

		String num= c.getString(c.getColumnIndex(CallLog.Calls.NUMBER));// for  number
		String name= c.getString(c.getColumnIndex(CallLog.Calls.CACHED_NAME));// for name
		String duration = c.getString(c.getColumnIndex(CallLog.Calls.DURATION));// for duration
		int type = Integer.parseInt(c.getString(c.getColumnIndex(CallLog.Calls.TYPE)));// for call type, Incoming or out going
		
		TextView txt=new TextView(this);
		txt.setText(num);
		setContentView(txt);
		
		
	}

Alguem já trabalhou com esse objeto para poder me mostrar onde estão os meus erros e o que preciso fazer para corrigi-los?

Obrigado.