MOHSEN007485

انتخاب شماره از لیست مخاطبین

9 ارسال در این موضوع قرار دارد

سلام به همگی

من تو پروژم یه دکمه و یک ادیت باکس دارم .

میخام وقتی با دکمه کلیک میکنم برنامه داخل لیست مخاطبین بشه و با انتخاب یک مخاطب شماره ی طرف به داخل ادیت باکس بیاد!

کسی هست کدشو قرار بده؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با این کد میتوانید وقتی لیست مخاطبان گوشی را در یک لیست ویو نمایش دهید :

    Intent intent = new Intent(Intent.ACTION_PICK,                        ContactsContract.Contacts.CONTENT_URI);                startActivityForResult(intent, 1);

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این کد باید شماره ی انتخاب شده رو از بین مخاطب ها بیاره تو برنامم و بریزه تو تکت که اسمش number هستش!

چرا کار نمیکنه؟

@Override  protected void onActivityResult(int requestCode, int resultCode, Intent data) {  if (resultCode == RESULT_OK) {  	   switch (requestCode) {          case CONTACT_PICKER_RESULT:            final EditText phoneInput = (EditText) findViewById(R.id.number);            Cursor cursor = null;              String phoneNumber = "";            List allNumbers = new ArrayList();            int phoneIdx = 0;            try {                  Uri result = data.getData();                  String id = result.getLastPathSegment();                  cursor = getContentResolver().query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=?", new String[] { id }, null);                  phoneIdx = cursor.getColumnIndex(Phone.DATA);                if (cursor.moveToFirst()) {                    while (cursor.isAfterLast() == false) {                        phoneNumber = cursor.getString(phoneIdx);                        allNumbers.add(phoneNumber);                        cursor.moveToNext();                    }                } else {                    //no results actions                }              } catch (Exception e) {                 //error actions            } finally {                  if (cursor != null) {                      cursor.close();                }                final CharSequence[] items = allNumbers.toArray(new String[allNumbers.size()]);                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);                builder.setTitle("Choose a number");                builder.setItems(items, new DialogInterface.OnClickListener() {                    public void onClick(DialogInterface dialog, int item) {                        String selectedNumber = items[item].toString();                        selectedNumber = selectedNumber.replace("-", "");                        phoneInput.setText(selectedNumber);                    }                });                AlertDialog alert = builder.create();                if(allNumbers.size() > 1) {                    alert.show();                } else {                    String selectedNumber = phoneNumber.toString();                    selectedNumber = selectedNumber.replace("-", "");                    phoneInput.setText(selectedNumber);                }                if (phoneNumber.length() == 0) {                      //no numbers found actions                  }              }              break;          }      } else {       //activity result error actions    }  }

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

تو اون برنامه ای که گزاشتید نبود

این کد جواب میده اما وقتی شماره هارو وارد میکنم شماره هارو تصادفی وارد میکنه

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);  if (requestCode == 1){	   if(resultCode == RESULT_OK) {	Uri contentUri = data.getData();	String contactId = contentUri.getLastPathSegment();	Cursor cursor = getContentResolver().query(  	        Phone.CONTENT_URI, null,  	        Phone._ID + "=?",       // < - Note, not CONTACT_ID!	        new String[]{contactId}, null);	startManagingCursor(cursor);      Boolean numbersExist = cursor.moveToFirst();                  int phoneNumberColumnIndex = cursor.getColumnIndex(Phone.DATA);                  String phoneNumber = "";      while (numbersExist)       {        phoneNumber = cursor.getString(phoneNumberColumnIndex);     	  phoneNumber = phoneNumber.trim();          numbersExist = cursor.moveToNext();      }	stopManagingCursor(cursor);			    if (phoneNumber != (""))     {    	Toast.makeText(MainActivity.this, phoneNumberColumnIndex, 1).show();	  phone.setText(phoneNumber);		    	} // phoneNumber != ""} // Result Code = RESULT_OK} // Request Code = REQUEST_CONTACTPICER}	// end function   	

کجای کد اشتباهه؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

تو اون برنامه ای که گزاشتید نبود

این کد جواب میده اما وقتی شماره هارو وارد میکنم شماره هارو تصادفی وارد میکنه

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);  if (requestCode == 1){	   if(resultCode == RESULT_OK) {	Uri contentUri = data.getData();	String contactId = contentUri.getLastPathSegment();	Cursor cursor = getContentResolver().query(  	        Phone.CONTENT_URI, null,  	        Phone._ID + "=?",       // < - Note, not CONTACT_ID!	        new String[]{contactId}, null);	startManagingCursor(cursor);      Boolean numbersExist = cursor.moveToFirst();                  int phoneNumberColumnIndex = cursor.getColumnIndex(Phone.DATA);                  String phoneNumber = "";      while (numbersExist)       {        phoneNumber = cursor.getString(phoneNumberColumnIndex);     	  phoneNumber = phoneNumber.trim();          numbersExist = cursor.moveToNext();      }	stopManagingCursor(cursor);			    if (phoneNumber != (""))     {    	Toast.makeText(MainActivity.this, phoneNumberColumnIndex, 1).show();	  phone.setText(phoneNumber);		    	} // phoneNumber != ""} // Result Code = RESULT_OK} // Request Code = REQUEST_CONTACTPICER}	// end function   	

کجای کد اشتباهه؟

ممنون از همگی

خودم کد رو درست کردم!

هرکی خواست بگه تا کد را براش بزارم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اگه لطف کنید تو همین بخش بزارید تا همه استفاده کنند ممنون میشم

با تشکر

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کاربران گرامی در تاپیکی که نمونه برنامه SMS را قراره داده ام، مشکلی که چند وقته در ان گیر کرده اید حل شده است. به بخش ارسال اس ام اس بروید آنجا دکمه ای که سه نقطه است را انتخاب کنید تا لیست کاربران نمایش داده شود.

http://www.p30droid.com/showthread.php?tid=51

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بفرمایید

با این کد لیست شماره تلفن ها به نمایش درمیاین

Intent intent = new Intent(Intent.ACTION_PICK,                       ContactsContract.Contacts.CONTENT_URI);               startActivityForResult(intent, 1);

و با این کدم هر کدومش رو انتخاب کنی به EditText اضافه میشه!

@Overridepublic void onActivityResult(int reqCode, int resultCode, Intent data) {   super.onActivityResult(reqCode, resultCode, data);   phone.setText(null);   try {       if (resultCode == Activity.RESULT_OK) {           Uri contactData = data.getData();           Cursor cur = managedQuery(contactData, null, null, null, null);           ContentResolver contect_resolver = getContentResolver();           if (cur.moveToFirst()) {               String id = cur.getString(cur.getColumnIndexOrThrow(ContactsContract.Contacts._ID));               String name = "";               String no = "";               Cursor phoneCur = contect_resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,                       ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] { id }, null);               if (phoneCur.moveToFirst()) {                   name = phoneCur.getString(phoneCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));                   no = phoneCur.getString(phoneCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));               }               Log.e("Phone no & name :***: ", name + " : " + no);               phone.append(no);               id = null;               name = null;               no = null;               phoneCur = null;           }           contect_resolver = null;           cur = null;           //                      populateContacts();       }   } catch (IllegalArgumentException e) {       e.printStackTrace();       Log.e("IllegalArgumentException :: ", e.toString());   } catch (Exception e) {       e.printStackTrace();       Log.e("Error :: ", e.toString());   }}  // end function

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری