How can I select a contact from the call log?

How can I select a contact from call logs?

This is my code, but when I try Intent.ACTION_PICK , it does not work

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

I'm not sure if this can be done with ACTION_PICK, if possible, you can create just a selection dialog for it, for example:

 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(); } }); } } 
+3
source

Source: https://habr.com/ru/post/1393043/


All Articles