常用的隐式意图

1、跳转到拨号界面

  Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber));

2、直接拨号

  Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
  需要拨号的权限android.permission.CALL_PHONE

3、选择联系人

  Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
  pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
  startActivityForResult(pickContactIntent, REQ_CODE_SELECT_PERSON);

 

  在activityResult中获取选中联系人的号码

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
            case REQ_CODE_SELECT_PERSON:
                Log.i(TAG, "resultCode:" + resultCode);
                if (resultCode == RESULT_OK) {
                    // Get the URI that points to the selected contact
                    Uri contactUri = data.getData();
                    // We only need the NUMBER column, because there will be only one row in the result
                    String[] projection = {ContactsContract.CommonDataKinds.Phone.NUMBER};

                    // Perform the query on the contact to get the NUMBER column
                    // We don't need a selection or sort order (there's only one result for the given URI)
                    // CAUTION: The query() method should be called from a separate thread to avoid blocking
                    // your app's UI thread. (For simplicity of the sample, this code doesn't do that.)
                    // Consider using CursorLoader to perform the query.
                    Cursor cursor = getContentResolver()
                            .query(contactUri, projection, null, null, null);
                    cursor.moveToFirst();

                    // Retrieve the phone number from the NUMBER column
                    int column = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
                    String number = cursor.getString(column);
                   
                    // Do something with the phone number...
             et_phone_number.setText(number);

                    cursor.close();

} break; } }

 

posted on 2015-07-01 21:57  石头hah  阅读(371)  评论(0编辑  收藏  举报

导航