0

Я реализую contactPicker в андроидеContactPicker не устанавливать в EditText

я создал ImageButton и OnClick этой кнопки я начинаю activityforresult, чтобы получить единый контакт PHONENUMBER в редактировании тексте

, но проблема заключается в данном всегда null.

вот мой код

public static final int PICK_CONTACT = 1; 

ImageButton contactsButton = (ImageButton) findViewById(R.id.contacts_button); 
     contactsButton.setOnClickListener(new Button.OnClickListener() { 
      public void onClick(View v) { 

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

     } 
    }); 

здесь activityforresult

@Override 
    public void onActivityResult(int reqCode, int resultCode, Intent data) { 
     super.onActivityResult(reqCode, resultCode, data); 
     switch (reqCode) { 

     case (PICK_CONTACT): 


      Log.d(" data", data+""); //returning null 


     Log.d("resultCode", resultCode+""); //returning 0 

     Log.d("reqCode", reqCode+""); //returning 1 

     Log.d("Activity2.RESULT_OK", Activity2.RESULT_OK+"");//returning -1 

      if (resultCode == Activity2.RESULT_OK) { 



      Uri contactData = data.getData(); 
       Cursor c = getContentResolver().query(contactData, null, null, null, null); 
       if (c.moveToFirst()) { 
       String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID)); 
       String hasNumber = c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
       String num = ""; 
       if (Integer.valueOf(hasNumber) == 1) { 
        Cursor numbers = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null); 
        while (numbers.moveToNext()) { 

         num = numbers.getString(numbers.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
         Toast.makeText(xxx.this, "Number="+num, Toast.LENGTH_LONG).show(); 

        ed= (EditText)findViewById(R.id.txtoooo); 
        ed.setText(num); 



        } 
       } 
      } 

       break; 

      } 
     } 
    } 

все, что я хочу сделать, это выбрать контакт и загрузить его номер телефона EditText. , пожалуйста, помогите мне, я попробовал все доступные решения в Интернете .. где я делаю ошибку?

ответ

0

Я решил эту проблему

в моем AndroidManifest.xml файл, где была объявлена ​​деятельность я просто удалена неразделенная вещь. и теперь его рабочий штраф.

изменен с

<activity 
     android:name="xxx.aaa.bbb" 
     android:label="@string/app_name" 
     android:launchMode="singleInstance" 
     android:configChanges="orientation|keyboardHidden" 
     > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

TO:

<activity 
     android:name="xxx.aaa.bbb" 
     android:label="@string/app_name"> 

</activity> 

теперь я могу получить результат от намерения. любой может получить помощь от этого. Thank you ..

Смежные вопросы