2010-06-19 117 views
0

我真的是Android编程的新手,所以我有一个简单的问题从我的应用程序中的联系人获取电话号码。我想实现的方法是用户点击我的应用程序中的按钮,并将转发给联系人。在联系人中,用户必须点击电话号码,并且该号码应该返回到文本字段。有没有一种简单的方法来做到这一点,而不是由ContentResolver实现它?Android:调用电话簿和返回号码的简单方法

感谢您的回答。

回答

2

使用startActivityForResult启动一个Pick contacts intent。在你的情况下,你只需在OnClick监听器中为该按钮添加startActivityForResult调用。

public class MyActivity extends Activity { 

    static final int PICK_CONTACT_REQUEST = 0; 

    protected boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { 
      // When the user center presses, let them pick a contact. 
      startActivityForResult(
       new Intent(Intent.ACTION_PICK, 
       new Uri("content://contacts")), 
       PICK_CONTACT_REQUEST); 
      return true; 
     } 
     return false; 
    } 

    protected void onActivityResult(int requestCode, int resultCode, 
      Intent data) { 
     if (requestCode == PICK_CONTACT_REQUEST) { 
      if (resultCode == RESULT_OK) { 
       // A contact was picked. Here we will just display it 
       // to the user. 
       startActivity(new Intent(Intent.ACTION_VIEW, data)); 
      } 
     } 
    } 
} 
+0

你好Rpond, 对不起,我迟到的答案,非常感谢您的回复,这就像一个魅力;) 也有直接调用ContactPhoneMailPicker一种可能性 - 意图。我找不到任何Uri。 – danny 2010-06-24 19:03:12

+0

这需要什么权限? – ARK 2013-12-23 08:04:50