4

통화 기록에서 연락처를 선택하려면 어떻게해야합니까? 통화 기록에서 연락처를 선택하려면 어떻게해야합니까?

내 코드입니다,하지만 난 Intent.ACTION_PICK을하려고 할 때, 내가 그것이이 가능한 경우, 당신은 간단하게 만들 수 ACTION_PICK으로 수행 할 수 있는지 여부를 확실하지 않다

Intent showCallLog = new Intent(); 
showCallLog.setAction(Intent.ACTION_VIEW); 
showCallLog.setType(CallLog.Calls.CONTENT_TYPE); 
context.startActivity(showCallLog); 
+1

http://stackoverflow.com/questions/6446580/android-get-call-history-of-contact?answertab=active#tab-top : 예, 이것에 대한 대화를 선택 – Pasha

답변

3

작동하지 않습니다

public class MainActivity extends Activity { 
     @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Button btnPick = (Button) findViewById(R.id.btnPick); 
     btnPick.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       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); 

       AlertDialog.Builder builder = new AlertDialog.Builder(
         MainActivity.this); 
       builder.setTitle("Select recent contact"); 
       android.content.DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialogInterface, 
          int item) { 
         cursorCall.moveToPosition(item); 
         Toast.makeText(
           MainActivity.this, 
           cursorCall.getString(cursorCall 
             .getColumnIndex(android.provider.CallLog.Calls.NUMBER)), 
           Toast.LENGTH_LONG).show(); 
         cursorCall.close(); 
         return; 
        } 
       }; 
       builder.setCursor(cursorCall, listener, 
         android.provider.CallLog.Calls.CACHED_NAME); 
       builder.create().show(); 
      } 
     }); 
    } 
}