Получить все мобильные номера, хранящиеся на устройстве Android, программно

Я хочу получить все мобильные номера и сведения (например, имя оператора) каждого мобильного номера, хранящиеся на моем устройстве Android. и отобразить в ListView. Любая идея, как этого добиться?


person kavie    schedule 24.07.2014    source источник
comment
Вы можете посмотреть здесь: stackoverflow.com/questions/16124034/   -  person Farouk Touzi    schedule 24.07.2014


Ответы (1)


Вы можете попробовать это:

public class MainActivity extends Activity {

    @Override
    protected void onCreate( final Bundle savedInstanceState ) {

        this.getAllMobileNumbers( this );

        super.onCreate( savedInstanceState );
    }

    private ArrayList<String> getAllMobileNumbers( final Context context ) {
        final ArrayList<String> listNumbers = new ArrayList<String>();
        final Cursor cursor = context.getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null );
        while ( cursor.moveToNext() ) {
            final int phone_id = cursor.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER );
            final String phone = cursor.getString( phone_id );
            listNumbers.add( phone );
        }

        return listNumbers;
    }

}
person wbelarmino    schedule 24.07.2014
comment
Есть ли способ получить имя провайдера? - person kavie; 25.07.2014