EX06_03.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:4k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex06_03;
  2. import android.app.Activity; 
  3. import android.app.PendingIntent;
  4. import android.content.Intent; 
  5. import android.database.Cursor; 
  6. import android.net.Uri; 
  7. import android.os.Bundle; 
  8. import android.provider.Contacts.People; 
  9. import android.telephony.gsm.SmsManager;
  10. import android.view.View; 
  11. import android.widget.Button; 
  12. import android.widget.TextView; 
  13. import android.widget.Toast;
  14. public class EX06_03 extends Activity 
  15.   private TextView mTextView01;
  16.   private TextView mTextView3;
  17.   private TextView mTextView5;
  18.   private Button mButton01;
  19.   private Button mButton02;
  20.   /*先声明strMessage为String*/
  21.   String strMessage;
  22.    
  23.   private static final int PICK_CONTACT_SUBACTIVITY = 2; 
  24.    
  25.   /** Called when the activity is first created. */ 
  26.   @Override 
  27.   public void onCreate(Bundle savedInstanceState) 
  28.   { 
  29.     super.onCreate(savedInstanceState); 
  30.     setContentView(R.layout.main); 
  31.      
  32.     mTextView01 = (TextView)findViewById(R.id.myTextView1);
  33.     mButton01 = (Button)findViewById(R.id.myButton1);
  34.     mTextView3 = (TextView)findViewById(R.id.myTextView3);
  35.     mButton02 = (Button)findViewById(R.id.myButton2);
  36.     mTextView5= (TextView)findViewById(R.id.myTextView5);
  37.     
  38.     /*设置第一个Button事件*/
  39.     mButton01.setOnClickListener(new Button.OnClickListener() 
  40.     { 
  41.       @Override 
  42.       public void onClick(View v) 
  43.       { 
  44.         // TODO Auto-generated method stub 
  45.         
  46.         Uri uri = Uri.parse("content://contacts/people"); 
  47.         Intent intent = new Intent(Intent.ACTION_PICK, uri);
  48.         /*去撷取mTextView3里的内容*/
  49.         strMessage = mTextView3.getText().toString();
  50.         
  51.         startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY);
  52.       }
  53.     }); 
  54.     
  55.     /*设置第二个Button事件*/
  56.     mButton02.setOnClickListener(new Button.OnClickListener() 
  57.     { 
  58.       @Override 
  59.       public void onClick(View v) 
  60.       { 
  61.         // TODO Auto-generated method stub 
  62.         Uri uri = Uri.parse("content://contacts/people"); 
  63.         Intent intent = new Intent(Intent.ACTION_PICK, uri);
  64.         /*去撷取mTextView5里的内容*/
  65.         strMessage = mTextView5.getText().toString();
  66.         
  67.         startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY); 
  68.       } 
  69.     }); 
  70.   } 
  71.   @Override 
  72.   protected void onActivityResult 
  73.   (int requestCode, int resultCode, Intent data) 
  74.   { 
  75.     // TODO Auto-generated method stub 
  76.     switch (requestCode) 
  77.     {  
  78.       case PICK_CONTACT_SUBACTIVITY: 
  79.         final Uri uriRet = data.getData(); 
  80.         if(uriRet != null) 
  81.         { 
  82.           try 
  83.           { 
  84.             /* 必须要有android.permission.READ_CONTACTS权限 */ 
  85.             Cursor c = managedQuery(uriRet, null, null, null, null); 
  86.             c.moveToFirst(); 
  87.             /*抓取通讯录的姓名*/
  88.             String strName =  
  89.             c.getString(c.getColumnIndexOrThrow(People.NAME)); 
  90.             /*抓取通讯录的电话*/
  91.             String strPhone =  
  92.             c.getString(c.getColumnIndexOrThrow(People.NUMBER)); 
  93.             
  94.             /*设置要寄给通讯录里的电话*/
  95.             String strDestAddress = strPhone; 
  96.             System.out.println(strMessage);
  97.             SmsManager smsManager = SmsManager.getDefault();
  98.             
  99.             PendingIntent mPI = PendingIntent.getBroadcast
  100.             (EX06_03.this, 0, new Intent(), 0);
  101.             /*寄出短信*/
  102.             smsManager.sendTextMessage
  103.             (
  104.               strDestAddress, null, strMessage, mPI, null
  105.             );
  106.             /*用Toast显示传送中*/
  107.             Toast.makeText
  108.             (
  109.               EX06_03.this,
  110.               getString(R.string.str_msg)+strName,
  111.               Toast.LENGTH_SHORT
  112.             ).show();
  113.              
  114.            mTextView01.setText(strName+":"+strPhone); 
  115.           } 
  116.           catch(Exception e) 
  117.           {             
  118.             mTextView01.setText(e.toString()); 
  119.             e.printStackTrace(); 
  120.           } 
  121.         } 
  122.         break; 
  123.     }   
  124.     super.onActivityResult(requestCode, resultCode, data);    
  125.   } 
  126. }