CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 7 su 7
Discussione:

Activity secondarie

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Senior Droid


    Registrato dal
    Feb 2012
    Messaggi
    749

    Ringraziamenti
    66
    Ringraziato 75 volte in 63 Posts
    Predefinito

    Activity secondarie

    Sto realizzando una piccola app di messaggi, ma purtroppo ho messo un' edittext per il numero di telefono.... come posso richiamare la rubrica per prende il numero diretto dal contatto?

  2.  
  3. #2
    Senior Droid


    Registrato dal
    Jun 2011
    Messaggi
    345

    Ringraziamenti
    0
    Ringraziato 13 volte in 10 Posts
    Predefinito

    Ciao,
    prova così:

    -nel manifest inserisci questo codice

    aggiungere in AndroidManifest.xml
    <uses-permission android:name="android.permission.READ_CONTACTS"/>

    per richiamare la rubrica
    Intent intentContact = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
    startActivityForResult(intentContact, PICK_CONTACT);

    nell' activity vai a sovrascrivere il metodo onActivityResult


    public void onActivityResult(int requestCode, int resultCode, Intent intent)
    {

    if (requestCode == PICK_CONTACT)
    {
    Cursor cursor = managedQuery(intent.getData(), null, null, null, null);
    cursor.moveToNext();
    String contactId = cursor.getString(cursor.getColumnIndex(ContactsCon tract.Contacts._ID));
    String name = cursor.getString(cursor.getColumnIndexOrThrow(Cont actsContract.Contacts.DISPLAY_NAME));

    Toast.makeText(this, "Contect LIST = "+name, Toast.LENGTH_LONG).show();
    }
    }



    Così dovrebbe bastare.Poi ovviamente dipende cosa vuoi selezionare...se solo il nome o altro....cambi a seconda della tua necessità
    Ultima modifica di canaja; 15-05-12 alle 22:13

  4. Il seguente Utente ha ringraziato canaja per il post:

    Nex94 (27-05-12)

  5. #3
    Senior Droid


    Registrato dal
    Feb 2012
    Messaggi
    749

    Ringraziamenti
    66
    Ringraziato 75 volte in 63 Posts
    Predefinito

    Grazie appena possibile lo provo


    Inviato dal mio Galaxy SII

  6. #4
    Senior Droid


    Registrato dal
    Feb 2012
    Messaggi
    749

    Ringraziamenti
    66
    Ringraziato 75 volte in 63 Posts
    Predefinito

    Scusa ma non son un grande esperto, se volessi associarla ad un bottone devo mettere lo start activity nel onClick presumo, ma il mio eclipse non riconosce PICK_CONTACT e public void onActivityResult
    Why?

    Noltre una volta preso ad esempio il numero clickando su un bottone, messo accanto ad un'editText, posso mettere sull'editText il numero, visibile all'utente?
    Ultima modifica di Nex94; 16-05-12 alle 22:04

  7. #5
    Senior Droid


    Registrato dal
    Feb 2012
    Messaggi
    749

    Ringraziamenti
    66
    Ringraziato 75 volte in 63 Posts
    Predefinito

    Ho provato in tutti i modi, ma come posso fare a salvarmi il numero di telefono? Non c'e l'oggetto NUMBvER_PHONE...
    help

    Inviato dal mio Galaxy SII

  8. #6
    Senior Droid


    Registrato dal
    Feb 2012
    Messaggi
    749

    Ringraziamenti
    66
    Ringraziato 75 volte in 63 Posts
    Predefinito

    Up


    Inviato dal mio Galaxy SII

  9. #7
    Senior Droid


    Registrato dal
    Feb 2012
    Messaggi
    749

    Ringraziamenti
    66
    Ringraziato 75 volte in 63 Posts
    Predefinito

    Risolto grazie ad internet e il pezzo precedentemente suggerito:

    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == PICK_CONTACT){
    if(resultCode == RESULT_OK){
    Uri contactData = data.getData();
    Cursor cursor = managedQuery(contactData, null, null, null, null);
    startManagingCursor(cursor);

    cursor.moveToFirst();
    ContentResolver cr = getContentResolver();
    String id = cursor.getString(cursor.getColumnIndexOrThrow(Cont actsContract.Contacts._ID));
    String number = cursor.getString(cursor.getColumnIndexOrThrow(Cont actsContract.Contacts.HAS_PHONE_NUMBER));
    if (Integer.parseInt(cursor.getString(cursor.getColum nIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER) )) > 0)
    { Cursor pCur = cr.query(
    ContactsContract.CommonDataKinds.Phone.CONTENT_URI ,
    null,
    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "= ?",
    new String[]{id}, null);
    while (pCur.moveToNext())
    { String number1 = pCur.getString(pCur.getColumnIndex(ContactsContrac t.CommonDataKinds.Phone.NUMBER));
    if(number1.startsWith("+393")||number1.startsWith( "3"))number=number1;
    }
    pCur.close();
    }
    else{Toast.makeText(getBaseContext(), "No number",Toast.LENGTH_SHORT).show();return;}

    String numerocomplet = number.replaceAll("-", "");
    phoneNo = numerocomplet.replace("+39", "");
    Toast.makeText(getBaseContext(), "Salvato: "+phoneNo,Toast.LENGTH_SHORT).show();
    }}
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy