package com.dam.profesor.contentsprovider; import android.Manifest; import android.content.pm.PackageManager; import android.database.Cursor; import android.provider.CallLog; import android.provider.ContactsContract; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.net.Uri; public class MainActivity extends AppCompatActivity implements View.OnClickListener { Button button; Button llamadas; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); llamadas = (Button) findViewById(R.id.llamadas); textView = (TextView) findViewById(R.id.texto); button.setOnClickListener(this); llamadas.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button: ObtenerDatos(); break; case R.id.llamadas: ObtenerDatosLlamadas(); break; default: break; } } public void ObtenerDatosLlamadas() { Uri uri; /* content://media/internal/images content://media/external/video content://media/internal/audio */ // content://media/*/images // content://settings/system/ringtones uri = Uri.parse("content://call_log/calls"); String[] projeccion = new String[]{CallLog.Calls.TYPE, CallLog.Calls.NUMBER, CallLog.Calls.DURATION}; Cursor c = getContentResolver().query( uri, projeccion, null, null, null); textView.setText(""); while(c.moveToNext()){ textView.append("Tipo: " + c.getString(0) + " Número: " + c.getString(1) + " Duración: " + c.getString(2) +"\n"); } c.close(); } public void ObtenerDatos(){ String[] projeccion = new String[] { ContactsContract.Data._ID, ContactsContract.Data.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone.TYPE }; String selectionClause = ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "' AND " + ContactsContract.CommonDataKinds.Phone.NUMBER + " IS NOT NULL"; String sortOrder = ContactsContract.Data.DISPLAY_NAME + " ASC"; Cursor c = getContentResolver().query( ContactsContract.Data.CONTENT_URI, projeccion, selectionClause, null, sortOrder); textView.setText(""); while(c.moveToNext()){ textView.append("Identificador: " + c.getString(0) + " Nombre: " + c.getString(1) + " Número: " + c.getString(2)+ " Tipo: " + c.getString(3)+"\n"); } c.close(); /*contactsCursor = getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, // URI de contenido para los contactos projection, // Columnas a seleccionar selectionClause // Condición del WHERE selectionArgs, // Valores de la condición sortOrder); // ORDER BY columna [ASC|DESC]*/ } }