Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从所选联系人中提取电话号码?_Java_Android_Android Contacts - Fatal编程技术网

Java 如何从所选联系人中提取电话号码?

Java 如何从所选联系人中提取电话号码?,java,android,android-contacts,Java,Android,Android Contacts,我正在开发一个Android应用程序,我正在将手机联系人导入我的应用程序中,用户单击所选联系人后,联系人将显示在文本视图中,电话号码将存储在SharedReferences中。。。我可以知道如何实现它吗?谢谢你试过了吗 public class ImportContactsActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bund

我正在开发一个Android应用程序,我正在将手机联系人导入我的应用程序中,用户单击所选联系人后,联系人将显示在文本视图中,电话号码将存储在SharedReferences中。。。我可以知道如何实现它吗?谢谢你试过了吗

public class ImportContactsActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button pickContact = (Button) findViewById(R.id.contacts);
    pickContact.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {

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

public void onActivityResult(int reqCode, int resultCode, Intent data) {

    super.onActivityResult(reqCode, resultCode, data);

    switch (reqCode) {
    case (1) :
      if (resultCode == Activity.RESULT_OK) {
        Uri contactData = data.getData();
        Cursor c =  managedQuery(contactData, null, null, null, null);

        if (c.moveToFirst()) {
          String name = c.getString(c.getColumnIndexOrThrow(People.NAME));
          TextView contactView = (TextView) findViewById(R.id.contactView);
          contactView.setText(name.toString());
        }
      }
      break;
    }
}
储存在


以上代码仅用于理解..

以下链接的可能副本


请参阅上面的链接。已详细回答。

谢谢您提供的信息,我是否需要在清单中添加内容?是的,添加权限。。我关注你的参考资料,但当我点击其中一个联系人时,它会强制关闭我的应用程序……同样,我正在考虑就此事提出一个新问题。
Uri contactData = data.getData();
Cursor cursor =  managedQuery(contactData, null, null, null, null);
cursor.moveToFirst();
      String name = cursor.getString(cursor.getColumnIndexOrThrow(People.NAME));
      String number = cursor.getString(cursor.getColumnIndexOrThrow(People.NUMBER));
      String email = cursor.getString(cursor.getColumnIndexOrThrow(People.PRIMARY_EMAIL_ID));
      contactName.setText(name);
      contactNumber.setText(number);
      contactEmail.setText(email);
  // We need an Editor object to make preference changes.
  // All objects are from android.context.Context
  SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
  SharedPreferences.Editor editor = settings.edit();
  editor.putString("phonenumber", number);

  // Commit the edits!
  editor.commit();