2011-07-28 40 views
0

我想檢索android應用程序中的通話記錄中可用的號碼。從通話記錄檢索電話號碼android

我不想獲取所有通話記錄並填充到我的應用活動中。相反,我想使用現有的Android Intent來查看並從列表中選擇一個數字,我希望數字回到我的活動中。

我想我將不得不使用startActivityForResult爲此。但是我很困惑的是這個方法的代碼是什麼。我只想要號碼。

任何幫助將不勝感激。

問候, 桑卡

回答

0

OK的方式,首先從活動一應創建意圖

Intent i=new Intent(...); 
startActivityForResult(i,0) 

和活動B你這樣做

Intent i1=getIntent(); 
//here you put data 
i.putExtra("key","value"); 

,比第一個活動,活動一個你得到你的數據是這樣 的方法:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data){ 
    super.onActivityResult(requestCode, resultCode, data); 
    String dataINeeded=data.getExtra("key"); 
} 

就是這樣

0
String[] strFields = { 
    android.provider.CallLog.Calls.NUMBER, 
    android.provider.CallLog.Calls.TYPE, 
    android.provider.CallLog.Calls.CACHED_NAME, 
    android.provider.CallLog.Calls.CACHED_NUMBER_TYPE 
}; 
String strOrder = android.provider.CallLog.Calls.DATE + " DESC"; 

Cursor mCallCursor = getContentResolver().query(
    android.provider.CallLog.Calls.CONTENT_URI, 
    strFields, 
    null, 
    null, 
    strOrder 
    ); 

if(mCallCursor.moveToFirst()){ 
    // loop through cursor 
    do{ 
     int ind=mCallCursor.getColumnIndex(android.provider.CallLog.Calls.NUMBER); 
     int ind1=mCallCursor.getColumnIndex(android.provider.CallLog.Calls.CACHED_NAME); 
     Log.v("asd", "NUmber:"+mCallCursor.getString(ind)+" Name:"+mCallCursor.getString(ind1)); 
    } while (mCallCursor.moveToNext()); 
} 

你可以得到你需要的任何信息,這只是做

+0

感謝。但我正在尋找將返回Android現有通話記錄活動中唯一選定號碼的內容。在你的方法中,這將列出手機中可用的所有日誌。 –