1 page.title= 2 page.tags= Intent 3 helpoutsWidget=true 4 5 trainingnavtop=true 6 7 @jd:body 8 9 <div id="tb-wrapper"> 10 <div id="tb"> 11 12 <h2> </h2> 13 <ol> 14 <li><a href="#StartActivity"> </a></li> 15 <li><a href="#ReceiveResult"> </a></li> 16 </ol> 17 18 <h2>. :</h2> 19 <ul> 20 <li><a href="{@docRoot}training/sharing/index.html"> </a></li> 21 <li><a href="{@docRoot}training/secure-file-sharing/index.html"> </a> 22 </ul> 23 24 </div> 25 </div> 26 27 <p> . 28 . {@link android.app.Activity#startActivityForResult 29 startActivityForResult()} ( {@link android.app.Activity#startActivity 30 startActivity()}).</p> 31 32 <p>, . 33 "", 34 , .</p> 35 36 <p>, . 37 {@link android.content.Intent}. 38 {@link android.app.Activity#onActivityResult onActivityResult()}.</p> 39 40 <p class="note"><strong>.</strong> 41 {@link android.app.Activity#startActivityForResult startActivityForResult()}. 42 , 43 .</p> 44 45 46 <h2 id="StartActivity"> </h2> 47 48 <p> {@link android.content.Intent}, 49 , , {@link 50 android.app.Activity#startActivityForResult startActivityForResult()}.</p> 51 52 <p> " ", . 53 {@link android.content.Intent}, , 54 , .</p> 55 56 <p>, , :</p> 57 58 <pre> 59 static final int PICK_CONTACT_REQUEST = 1; // The request code 60 ... 61 private void pickContact() { 62 Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts")); 63 pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers 64 startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST); 65 } 66 </pre> 67 68 69 <h2 id="ReceiveResult"> </h2> 70 71 <p> , 72 {@link android.app.Activity#onActivityResult onActivityResult()}. 73 :</p> 74 75 <ul> 76 <li> , {@link 77 android.app.Activity#startActivityForResult startActivityForResult()}.</li> 78 <li> , . {@link 79 android.app.Activity#RESULT_OK}, , {@link 80 android.app.Activity#RESULT_CANCELED}, - 81 .</li> 82 <li>{@link android.content.Intent}, .</li> 83 </ul> 84 85 <p>, " " :</p> 86 87 <pre> 88 @Override 89 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 90 // Check which request we're responding to 91 if (requestCode == PICK_CONTACT_REQUEST) { 92 // Make sure the request was successful 93 if (resultCode == RESULT_OK) { 94 // The user picked a contact. 95 // The Intent's data Uri identifies which contact was selected. 96 97 // Do something with the contact here (bigger example below) 98 } 99 } 100 } 101 </pre> 102 103 <p> , {@link android.content.Intent} 104 Android , {@link android.net.Uri}, 105 .</p> 106 107 <p> , 108 {@link android.content.Intent}. , 109 . , Android, , 110 . , "" ( "" 111 ) URI , , 112 "" {@link android.graphics.Bitmap} {@code "data"} (. 113 <a href="{@docRoot}training/camera/index.html"> </a>).</p> 114 115 116 <h4>: </h4> 117 118 <p> , "", 119 , 120 <a href="{@docRoot}guide/topics/providers/content-providers.html"> 121 </a>. - , , 122 :</p> 123 124 <pre> 125 @Override 126 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 127 // Check which request it is that we're responding to 128 if (requestCode == PICK_CONTACT_REQUEST) { 129 // Make sure the request was successful 130 if (resultCode == RESULT_OK) { 131 // Get the URI that points to the selected contact 132 Uri contactUri = data.getData(); 133 // We only need the NUMBER column, because there will be only one row in the result 134 String[] projection = {Phone.NUMBER}; 135 136 // Perform the query on the contact to get the NUMBER column 137 // We don't need a selection or sort order (there's only one result for the given URI) 138 // CAUTION: The query() method should be called from a separate thread to avoid blocking 139 // your app's UI thread. (For simplicity of the sample, this code doesn't do that.) 140 // Consider using {@link android.content.CursorLoader} to perform the query. 141 Cursor cursor = getContentResolver() 142 .query(contactUri, projection, null, null, null); 143 cursor.moveToFirst(); 144 145 // Retrieve the phone number from the NUMBER column 146 int column = cursor.getColumnIndex(Phone.NUMBER); 147 String number = cursor.getString(column); 148 149 // Do something with the phone number... 150 } 151 } 152 } 153 </pre> 154 155 <p class="note"><strong>.</strong> Android 2.3 (API- 9) 156 {@link android.provider.ContactsContract.Contacts Contacts Provider} ( 157 ) {@link 158 android.Manifest.permission#READ_CONTACTS} (. <a href="{@docRoot}guide/topics/security/security.html"> </a>). , 159 Android 2.3, "/" 160 . 161 , , 162 Intent {@link android.net.Uri}, {@link 163 android.Manifest.permission#READ_CONTACTS}.</p> 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179