Home | History | Annotate | Download | only in intents
      1 page.title=  
      2 page.tags=intents
      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}    .   {@link android.app.Activity#onActivityResult onActivityResult()} 
     38   .</p>
     39 
     40 <p class="note"><strong>:</strong> {@link android.app.Activity#startActivityForResult startActivityForResult()}
     41         .    
     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>    " ".  {@link android.content.Intent}
     53  ,         
     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},     
     80    {@link
     81 android.app.Activity#RESULT_CANCELED}.</li>
     82   <li>   {@link android.content.Intent}</li>
     83 </ul>
     84 
     85 <p> " "       .</p>
     86 
     87 <pre>
     88 &#64;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>  Android    
    104   {@link android.content.Intent}     {@link android.net.Uri} 
    105 .</p>
    106 
    107 <p>   
    108  {@link android.content.Intent}     .       
    109  ,    . Android        
    110   API .  ,  (   
    111  )     URI    . 
    112   {@code "data"}  {@link android.graphics.Bitmap} (<a href="{@docRoot}training/camera/index.html"> </a>
    113  ).</p>
    114 
    115 
    116 <h4>:   </h4>
    117 
    118 <p>       , 
    119        .    
    120 <a href="{@docRoot}guide/topics/providers/content-providers.html"> </a>    
    121  .     ,    
    122        .</p>
    123 
    124 <pre>
    125 &#64;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  ,  {@link android.net.Uri}
    162      . , {@link
    163 android.Manifest.permission#READ_CONTACTS}     .</p>
    164 
    165 
    166 
    167 
    168 
    169 
    170 
    171 
    172 
    173 
    174 
    175 
    176 
    177 
    178 
    179