Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發之電話撥號器和短信發送器實現方法

Android開發之電話撥號器和短信發送器實現方法

編輯:關於Android編程

本文實例講述了Android開發之電話撥號器和短信發送器實現方法。分享給大家供大家參考,具體如下:

電話撥號器

實現原理:用戶輸入電話號碼,當點擊撥打的時候,由監聽對象捕獲,監聽對象通過文本控件獲取到用戶輸入的電話號碼,由於系統已經實現了電話撥號功能,所以我們只需要調用這個功能就可以了。

步驟:

1.界面布局
2.編寫Activity
3.使用意圖過濾器激活電話撥號功能
4.添加電話服務權限(用手機的電話服務,要在清單文件AndroidManifest.xml中添加電話服務權限)

如圖所示這三個控件是垂直擺放的,所以要使用線性布局來擱置顯示控件

效果圖:

界面布局:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:orientation="vertical" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  > 
  <!--提示信息--> 
  <TextView  
  android:layout_width="fill_parent"  
  android:layout_height="wrap_content"  
  android:text="@string/Mobile" 
  /> 
   <!--文本框按鈕--> 
  <EditText 
  android:layout_width="fill_parent"  
  android:layout_height="wrap_content" 
  android:id="@+id/moblie" 
  /> 
  <!--撥號按鈕 --> 
  <Button 
  android:layout_width="wrap_content"  
  android:layout_height="wrap_content" 
  android:text="@string/button" 
  android:id="@+id/button" 
  /> 
</LinearLayout> 

Activity:

package cn.test.phone; 
import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
public class MainActivity extends Activity { 
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    //根據控件的id查找到按鈕控件 
    Button button =(Button)this.findViewById(R.id.button); 
    button.setOnClickListener(new ButtonClickLister());  //點擊事件的處理對象 
  } 
  //監聽對象實現撥打功能 
  private class ButtonClickLister implements View.OnClickListener{ 
    public void onClick(View v){ 
      EditText mobileText=(EditText)findViewById(R.id.moblie); 
      String moblie=mobileText.getText().toString(); //獲取到用戶輸入的時間 
      Intent intent =new Intent(); 
      intent.setAction("android.intent.action.CALL"); 
      intent.setData(Uri.parse("tel:"+moblie)); 
      //根據意圖過濾器參數激活電話撥號功能 
      startActivity(intent); 
    } 
  } 
}

添加電話服務權限:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
   package="cn.itcast.action" 
   android:versionCode="1" 
   android:versionName="1.0"> 
   略.... 
  <uses-sdk android:minSdkVersion=“6" /> 
  <!-- 電話服務權限 --> 
  <uses-permission android:name="android.permission.CALL_PHONE"/> 
</manifest>

短信發送器

短信發送器和電話撥號器步驟差不多,需要注意的是當獲取到短信內容時,如果短信內容非常多需要對短信內容進行拆分,拆分後存到集合裡,對短信內容多條發送

效果圖:

界面布局:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:orientation="vertical" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  > 
  <!--顯示控件--> 
  <TextView  
  android:layout_width="fill_parent"  
  android:layout_height="wrap_content"  
  android:text="@string/moblie" 
  /> 
  <!--文本框按鈕--> 
  <EditText 
  android:layout_width="fill_parent"  
  android:layout_height="wrap_content" 
  android:id="@+id/moblie" 
  /> 
  <TextView  
  android:layout_width="fill_parent"  
  android:layout_height="wrap_content"  
  android:text="@string/content" 
  /> 
  <EditText 
  android:layout_width="fill_parent"  
  android:layout_height="wrap_content" 
  android:minLines="3" 
  android:id="@+id/content" 
  /> 
  <Button 
  android:layout_width="wrap_content"  
  android:layout_height="wrap_content" 
  android:text="@string/button" 
  android:id="@+id/button" 
  /> 
</LinearLayout> 

Activity:

package cn.test.sms; 
import java.util.ArrayList; 
import android.app.Activity; 
import android.os.Bundle; 
import android.telephony.SmsManager; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 
public class MainActivity extends Activity { 
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button button =(Button)this.findViewById(R.id.button); 
    button.setOnClickListener(new ButtonClickLister());  //點擊事件的處理對象 
  } 
  //監聽對象實現撥打功能 
  private class ButtonClickLister implements View.OnClickListener{ 
    public void onClick(View v){ 
      EditText moblieText=(EditText)findViewById(R.id.moblie); 
      EditText contentText=(EditText)findViewById(R.id.content); 
      String moble =moblieText.getText().toString();//獲取電話號 
      String content =contentText.getText().toString();//獲取短信內容 
      SmsManager smsManager=SmsManager.getDefault();//獲得短信管理器 
      ArrayList<String> texts=smsManager.divideMessage(content);//對短信內容進行拆分 
      for(String text:texts){ 
        smsManager.sendTextMessage(moble, null, text, null, null);  //短信發送 
      } 
        //采用吐西方式提示用戶發送成功 
      Toast.makeText(getApplicationContext(), R.string.success, 1).show(); 
    } 
  } 
}

添加短信服務權限:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
   package="cn.itcast.action" 
   android:versionCode="1" 
   android:versionName="1.0"> 
   略.... 
  <uses-sdk android:minSdkVersion="8" /> 
  <!-- 短信服務權限 --> 
  <uses-permission android:name="android.permission.SEND_SMS" /> 
</manifest> 

希望本文所述對大家Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved