4

Как я могу выбрать контакт из журналов вызовов?Как я могу выбрать контакт из журнала вызовов?

Это мой код, но когда я пытаюсь Intent.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

Я не уверен, может ли это быть сделано с ACTION_PICK, если это возможно, вы можете создать просто выбрать диалог для этого, например:

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(); 
      } 
     }); 
    } 
} 
Смежные вопросы